确定碰撞体积
![](https://img-blog.csdnimg.cn/direct/d5cc5e729a8540aa826d1e5d40ebc0b3.png)
![](https://img-blog.csdnimg.cn/direct/2169c685420a488c9ecfff453550145e.png)
![](https://img-blog.csdnimg.cn/direct/aef1e970d9f44f8084daecb2a517c684.png)
![](https://img-blog.csdnimg.cn/direct/279127996dc747029abc5b64924cce92.png)
![](https://img-blog.csdnimg.cn/direct/a90c92af60ec4a45b9f6dd5a00cf655b.png)
![](https://img-blog.csdnimg.cn/direct/e0df8e0cd7ac47eb873a2f6225575fb6.png)
![](https://img-blog.csdnimg.cn/direct/afe0ad6391fe48d4b1f33253d9c211a8.png)
![](https://img-blog.csdnimg.cn/direct/ec14497fb491431b83d603698c76050a.png)
我做的时候其实是有一点bug的,比如在设置碰撞体积的时候即使两个都有碰撞体积(平台和人物),也是会一直下坠的,结果后来发现原因是因为平台和人物位置设定的有问题。乍一看没什么,但是事实上人物的脚在平台的里面的位置,所以会一直掉下去。修改一下位置即可。
使用Input System来监听用户输入
![](https://img-blog.csdnimg.cn/direct/e1b5a6f9f3814ad9afcc8c3f3f732135.png)
![](https://img-blog.csdnimg.cn/direct/763c8f6360bc4b8cbf5849880429389b.png)
![](https://img-blog.csdnimg.cn/direct/0c5a22bea2cb4d43a68070b906bb1e50.png)
![](https://img-blog.csdnimg.cn/direct/e568965c136043e0a828192926dac634.png)
![](https://img-blog.csdnimg.cn/direct/66f7b97bfb5148838010f7b286ca3a51.png)
![](https://img-blog.csdnimg.cn/direct/b7e3e3ac732c40aaad5d2c7edc0b936f.png)
![](https://img-blog.csdnimg.cn/direct/54d7524ede204876839757a3e2fee220.png)
![](https://img-blog.csdnimg.cn/direct/2db418e8d6f34f7f995db23284747ceb.png)
![](https://img-blog.csdnimg.cn/direct/47197f4cfd7448beaf082bcc6bcee3c4.png)
![](https://img-blog.csdnimg.cn/direct/2358c7b372b849349bf809a06631ab05.png)
![](https://img-blog.csdnimg.cn/direct/f18956af91ce4461b15f093df88d7aad.png)
使用Unity的Input Control来控制人物移动
![](https://img-blog.csdnimg.cn/direct/a4e143316fe14d4eb3390055c46242ca.png)
PlayerController.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;public class PlayerController : MonoBehaviour//继承在MonoBehavior类中
{// Start is called before the first frame updatepublic PlayerInputControl inputControl;public Vector2 inputDirection;//存储Vector2变量private void Awake(){inputControl = new PlayerInputControl();//实例化}private void OnEnable(){inputControl.Enable();}private void OnDisable(){inputControl.Disable();}private void Update(){inputDirection = inputControl.Gameplay.Move.ReadValue<Vector2>();}
}