unity3d定义射线 BUG

控制人物移动鼠标点击地面人物移动但是人物不移动并提示空指针以下是全部代码//目标点坐标privateVector3mTargetPos;voidStart(){}void... 控制人物移动 鼠标点击地面人物移动 但是人物不移动并提示空指针以下是全部代码 //目标点坐标 private Vector3 mTargetPos; void Start() { } void Update() { //按下鼠标右键时 if (Input.GetMouseButton(0)) { //定义射线 Ray ray= Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; //判断射线是否击中地面 if (Physics.Raycast(ray, out hit)) { if (hit.collider.gameObject.tag == "Terrain") { //获取目标坐标 mTargetPos = hit.point; //让主角面朝目标坐标并向目标移动 transform.LookAt(mTargetPos); //播放奔跑动画 transform.gameObject.GetComponent<Animation>().Play("Walk"); transform.Translate(Vector3.forward * 0.5F); } } } //松开鼠标右键时 if (Input.GetMouseButtonUp(0)) { transform.gameObject.GetComponent<Animation>().Play("Idle"); } }
,代码有点乱 看图吧
展开
 我来答
正义King
2018-01-10 · TA获得超过2102个赞
知道小有建树答主
回答量:974
采纳率:94%
帮助的人:659万
展开全部
是获取Animation这行出错?确定是有Animation组件的吗?而不是animator?
更多追问追答
追问

有的

提示定义射线出问题

追答
没有主摄像机吧,只有设为主相机的camera才能用main的方式去获取,你看下tag
翌颖科技
2024-07-30 广告
Profilm 3D是翌颖科技(上海)有限公司推出的一款先进的3D打印材料。它以其卓越的打印性能、高清晰度及出色的耐久性而广受赞誉。Profilm 3D不仅适用于多种3D打印设备,还能满足各种复杂设计和项目的需求。在追求创新和质量的道路上,... 点击进入详情页
本回答由翌颖科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式