আমি বর্তমানে ইউনিটি 3 ডি- তে আমার চরিত্রের আন্দোলনে কাজ করছি । আমি তাকে মাউস কার্সারে তুলনামূলকভাবে সরানোতে সক্ষম হয়েছি। আমি 45 ° এর slাল সীমা নির্ধারণ করেছি, যা চরিত্রটিকে উচ্চতর ডিগ্রি সহ পাহাড়ের উপর দিয়ে চলতে দেয় না। তবে তিনি এখনও তাদের লাফিয়ে উঠতে পারেন।
যখন তিনি খুব উঁচু opeালু সহ স্থানে ঝাঁপিয়ে পড়লেন তখন আমি কীভাবে তাকে আবার স্লাইড করতে পারি?
আগাম ধন্যবাদ.
সম্পাদনা করুন: আমার বেসিক আন্দোলনের কোড স্নিপেট। ইউনিটিইজাইন ব্যবহার করে; সিস্টেম.কলেশন ব্যবহার করে;
public class BasicMovement : MonoBehaviour {
private float speed;
private float jumpSpeed;
private float gravity;
private float slopeLimit;
private Vector3 moveDirection = Vector3.zero;
void Start()
{
PlayerSettings settings = GetComponent<PlayerSettings>();
speed = settings.GetSpeed();
jumpSpeed = settings.GetJumpSpeed();
gravity = settings.GetGravity();
slopeLimit = settings.GetSlopeLimit();
}
void Update() {
CharacterController controller = GetComponent<CharacterController>();
controller.slopeLimit = slopeLimit;
if (controller.isGrounded) {
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButton("Jump")) {
moveDirection.y = jumpSpeed;
}
}
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
}