hhjc.net
当前位置:首页 >> unity3D 控制角色移动会摔倒怎么办 >>

unity3D 控制角色移动会摔倒怎么办

你用的是transform.Translate()吧.这个是根据你的角色朝向来定的.也有可能是碰撞体插到地板上然后反弹了.可以用Getcompent().AddForce()

if(input.getkey(keycode.w))) { this .transform .translate (vector3.forward *time .deltatime*speed ); } else if(input.getkey(keycode.s)) { this .transform .translate (vector3.forward *time .deltatime*-speed ); } if(input.getkey(keycode.a )) ) { this .transform .

首先你好像有两个参数来标记人物是否在地上 state和isGround.state并不完整,也没什么作用.那就当作你用isGround来标记人物是不是在地上.isGround初始化为false,但是你从来没有给它赋值过true.程序根本无法判断Input.GetButtonDown("Jump");还有些小问题都没这个逻辑问题严重

控制角色移动播放动作或者其他逻辑则需要给这个橘色节点绑定逻辑脚本,UNity支持多种脚本语言,在此是用JAVA脚本.创建 脚本Assets --> Create ----> JavaScript 创建一个空的逻辑脚本,并将这个脚本绑定在主角对象身上,绑定方式是直接

我没用过获取鼠标的世界坐标的方法,不知道你那样得到抄的坐标是什么.你确定转化成世界坐标之后的位置是你点击屏幕之后视觉上看到的位置么?2113获取射线坐标就是为了得到你点击5261之后视觉上看到的那个位置,因为射线是从摄像机发出的,就好像4102你的眼睛看到的.还有,让物体移动是指在y坐标相同的一个平面(这样说不完全正确)移动,你的方法得到的坐标的y值是不1653是相同呢?

首先这个问题的原因有可能未必是你的脚本这个部分出问题,我不知道你的导出之后除了输入没办法接受之外其他的部分还运行正常吗?会不会是其他的脚本组件等等原因造成的这个问题?在Editor里面里面运行的情况是否正常?此外,你用的

给木板加个box collider组件,在Hierarchy面板把角色拖曳到木板对象上作为其子对象,角色就可以跟随木板移动了

什么是你所谓的不规则按键?就是不是方的不是圆的是自己画的形状的那种?如果你要起到按键功能的那个东西是个网格模型,那么:先在inspecor标签下检查有没有mesh collider如果没有的话add component->physics->mesh collider然后指定你要用来做按键的那个网格就行了如果是ngui的话,给那个ui添上一个脚本,脚本里面在onclick函数里面写上你要的操作就行了

一般用wsad上下左右控制物体移动,通过捕捉键盘的按下响应,控制物体或者角色移动.

void Update () { //wsad按钮移动对象 if (Input.GetKey (KeyCode.W)) { gameObject.GetComponent<Transform> ().Translate (Vector3.forward * 0.1f, Space.Self); } if (Input.GetKey (KeyCode.S)) { gameObject.GetComponent<Transform> ().Translate

网站首页 | 网站地图
All rights reserved Powered by www.hhjc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com