Unity3D开发学习① Unity安装,导入素材,
Unity3D开发学习② 切割素材,设置背景,绘制地图,图层顺序,
Unity3D开发学习③ 新建角色,设置碰撞箱,角色移动,
1.角色朝向
通过改变player的Transform里的Scale就可以改变player的三维缩放,这里将Scale x分别调至-1 0 1即可观察到角色的变换
所以要添加角色朝向的变化就是要设置角色的scale值
那就直接跳到代码部分吧
打开之前的脚本代码文件
直接开干
这里如果设置X scale为0 就会使玩家看不见角色,所以需要判0避免
码完就可以预览康康了
这个时候应该发现了测试中角色有时会秃然卡一下,据后来补充似乎是碰撞箱的问题,给地图换个碰撞箱就好了
但这里还是先不改吧,一个明显的错误能让人更在意整体(?
2.适配电脑(FixedUpdate)
然后这里就应该处理一下适配问题了
这里将物理移动逻辑放在Update中的原因是因为他会一直执行
但是因为渲染的物体与机器性能的不同,Update每次执行的时间可能是不同的
所以就需要使用FixedUpdate方法来执行这些代码
因为FixedUpdate不是每帧执行而是根据系统时间,每隔一定时间渲染
这样就可以对性能较弱的机器进行适配(大概吧
这个一定时间可以在Unity中修改,默认是0.02s执行一次
于是在代码只要添加一个方法就可以完成这个适配
然后就可以在游戏中预览试一下了
没感觉出什么差别,因为适配还有一步没整好
位移是应该*上Time.deltaTime(增量时间)的
因为Time.deltaTime是一个变量,代表着完成上一帧任务的时间
也就是说在因为性能而帧数不稳定时,Time.deltaTime也会随之变化
而位移这种需要平滑的量*上Time.deltaTime才能在FixedUpdate中平稳发挥(应该是这个意思
如果现在预览发现动起来像是在爬,修改一下人物移动速度即可
然后就可以准备开始添加跳跃功能了
3.角色跳跃
跳跃跟移动差不多,只不过是方向不同的问题
但是左右移动可以长按一直移动,跳跃要是长按变成飞天那可能不太合适
所以这里先从设置中了解到跳跃的标识名
再从代码中获取玩家是否点击jump(空格)按钮
然后声明一个跳跃力度(JumpForce)的变量
然后就可以加上让player躁动不安的代码了(?
但是需要注意的是,FixedUpdate按时执行的方式代表了他很可能不能及时反映按键的落下
所以这里需要另起一个方法放在update中
弄成这样就可以进游戏预览了
如果游戏中跳不起来或者跳的几乎察觉不出,可以把跳跃力度修改一下‘
这里没有对跳跃次数做限制,可以无限跳跃
如果不想人物太飘可以再刚体属性中设置重力,让它自重一点(
然后就可以准备设置角色动画了