Unity 6中按W/S键立方体无法移动问题求助(附代码)
解决Unity中立方体按W/S键无法移动的问题
针对你遇到的问题,结合Unity 6000.0.44f1版本的特性,排查方向如下:
检查Rigidbody核心设置
确保立方体上的Rigidbody组件没有勾选Is Kinematic——这个选项会让刚体脱离物理驱动,完全无法通过velocity属性移动。同时确认Mass(质量)设置在合理范围,0或者超大质量都会导致移动失效或不明显。修正API调用(Unity 6版本适配)
你代码里用的linearVelocity是DOTS Physics系统的属性,如果你用的是传统内置Rigidbody,应该替换成velocity。另外每次FixedUpdate里调用GetComponent<Rigidbody>()会浪费性能,建议缓存引用:using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player2 : MonoBehaviour { [SerializeField] KeyCode keyOne; [SerializeField] KeyCode keyTwo; [SerializeField] Vector3 moveDirection; private Rigidbody rb; private void Start() { rb = GetComponent<Rigidbody>(); } private void FixedUpdate() { if (Input.GetKey(keyOne)) { rb.velocity += moveDirection; } if (Input.GetKey(keyTwo)) { rb.velocity -= moveDirection; } } }确认moveDirection参数配置
在Inspector面板里检查moveDirection的数值,比如要实现上下移动,需要设置类似(0, 3, 0)的非零向量——数值太小会导致移动幅度微弱,看起来像静止。验证按键绑定与脚本状态
- 确保Inspector中
keyOne绑定的是W键,keyTwo绑定的是S键,不要误选其他按键 - 确认Player2脚本已经正确挂载在立方体对象上,并且脚本的启用勾选框处于激活状态
- 确保Inspector中
内容的提问来源于stack exchange,提问作者GroxMC
相关产品推荐
相关产品推荐

