问题描述
这个问题可能已经在某处被问到并得到了回答,但我没有看到 StackOverflow 上提到过这种情况。
问题:几天以来,我的带有 CharacterController 组件的游戏对象不再服从重力。它们可以在 X 和 Z 上按预期移动,但无论如何都不会掉到地上。
我不认为问题来自我制作的脚本,因为我用一个完全没有任何代码的对象进行了测试,它仍然停留在空中。我以为这是我仅在我的一个项目中意外修改的属性,但事实证明该问题影响了我的所有 Unity 项目。
我应该重新安装 Unity,还是从头开始重新创建所有项目?
对象“3rd Person Player”是一个空的,圆柱和头部是它的父级。
编辑:按照 amitklein 的要求,这是视图和检查器的图像:
[
编辑 2 :正如在 reddit 上所问的,这是运动脚本:
[代码]
// Character Controller
public CharacterController devonController;
//Values and movement tools
public float walkSpeed = 4.0f;
public float unchargedJumpForce = 10.0f;
public float chargedJumpForce;
public Vector3 floorMotionVector;
public Vector3 jumpVector;
public float Gravity = -9.81f;
void Start()
{
devonController = GetComponent<CharacterController>();
}
void Update()
{
float horizontal = Input.GetAxisRaw("Horizontal");
float vertical = Input.GetAxisRaw("Vertical");
floorMotionVector = new Vector3(horizontal,vertical).normalized;
if(floorMotionVector.magnitude >= 0.1f && Input.GetKey(KeyCode.LeftShift))
{
devonController.Move(floorMotionVector * (6 * walkSpeed) * Time.deltaTime);
}
else
{
devonController.Move(floorMotionVector * walkSpeed * Time.deltaTime);
}
}
[/CODE]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)