Làm thế nào để làm cho nhân vật 2D của tôi đứng bình thường trên dốc?


13

Tôi đã có nhân vật này trong Unity3D (Chế độ 2D) ... ở độ dốc giống như thế này, nhập mô tả hình ảnh ở đây

Nhưng tôi muốn nhân vật đứng dọc theo đường màu đỏ..Như bên dưới nhập mô tả hình ảnh ở đây

Làm thế nào tôi có thể làm cho nó trong Unity3d?

Tôi đã có thiết lập này ..

nhập mô tả hình ảnh ở đây

Tôi đang sử dụng Addforce đơn giản để di chuyển ... Nếu tôi loại bỏ ràng buộc vị trí z, nó sẽ dẫn đến chuyển động kỳ lạ như lăn và vân vân .... Mọi sự trợ giúp đều được đánh giá cao :)

Câu trả lời:


27

Bạn có nghĩ rằng nó trông rất kỳ quặc khi một người đứng vuông góc với một con dốc?

đứng vuông góc với độ dốc

Bạn cần phải đứng thẳng để giữ thăng bằng.


Một số lựa chọn thay thế:

  • Hãy coi đôi chân của anh ấy như một vật riêng biệt và xoay chúng song song với độ dốc. (Một raycast sẽ tìm thấy góc bình thường , như dnk đã mô tả . Góc của bàn chân là + 90 ° .)

    chân xoay

  • Giả mạo nó, bằng cách di chuyển toàn bộ nhân vật xuống một chút.

    chân giả "xoay"


3
cảm ơn tất cả các bạn :) Tôi đã thực hiện điều này sau đề nghị của bạn i.imgur.com/io3v7Y4.png
jamius19

1
Điều đó cũng cho thấy rằng ngay khi bàn chân xoay không còn đẹp nữa, nhân vật của bạn sẽ vấp ngã :)
Hagen von Eitzen

: - / Có phải vòng quay của bàn chân trông kỳ lạ trong hình tôi đính kèm không?
jamius19

@ jamius19 Chúng có vẻ tốt với tôi. Tôi nghĩ bình luận của Hagen là một trò đùa.
Anko

1
Bạn không cần phải di chuyển nhân vật xuống dưới chỉ cần di chuyển hình ảnh của độ dốc lên một chút so với vật lý
quái vật ratchet

2

Hãy thử sử dụng RaycastHit.n normal trên mặt đất để có được bình thường. Họ đặt char.up = bình thường


1
Tại sao lại lãng phí CPU với một raycast nếu vật lý Unity đã cung cấp thông tin này theo mặc định cho mỗi va chạm?
Kroltan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.