Unity3D开发学习① Unity安装,导入素材,

Unity3D开发学习② 切割素材,设置背景,绘制地图,图层顺序,

Unity3D开发学习③ 新建角色,设置碰撞箱,角色移动,

unity boss朝向玩家 unity角色移动朝向_缩放

1.角色朝向

unity boss朝向玩家 unity角色移动朝向_unity boss朝向玩家_02

 

 通过改变player的Transform里的Scale就可以改变player的三维缩放,这里将Scale x分别调至-1 0 1即可观察到角色的变换

unity boss朝向玩家 unity角色移动朝向_缩放_03

 

 

所以要添加角色朝向的变化就是要设置角色的scale值

那就直接跳到代码部分吧

unity boss朝向玩家 unity角色移动朝向_缩放_04

打开之前的脚本代码文件

unity boss朝向玩家 unity角色移动朝向_图层_05

 

 直接开干

这里如果设置X scale为0 就会使玩家看不见角色,所以需要判0避免

码完就可以预览康康了

这个时候应该发现了测试中角色有时会秃然卡一下,据后来补充似乎是碰撞箱的问题,给地图换个碰撞箱就好了

但这里还是先不改吧,一个明显的错误能让人更在意整体(?

unity boss朝向玩家 unity角色移动朝向_Time_06

2.适配电脑(FixedUpdate)

然后这里就应该处理一下适配问题了

这里将物理移动逻辑放在Update中的原因是因为他会一直执行

但是因为渲染的物体与机器性能的不同,Update每次执行的时间可能是不同的

所以就需要使用FixedUpdate方法来执行这些代码

因为FixedUpdate不是每帧执行而是根据系统时间,每隔一定时间渲染

这样就可以对性能较弱的机器进行适配(大概吧

unity boss朝向玩家 unity角色移动朝向_图层_07

 

 这个一定时间可以在Unity中修改,默认是0.02s执行一次

 

unity boss朝向玩家 unity角色移动朝向_缩放_08

 

 于是在代码只要添加一个方法就可以完成这个适配

然后就可以在游戏中预览试一下了

unity boss朝向玩家 unity角色移动朝向_图层_09

unity boss朝向玩家 unity角色移动朝向_unity boss朝向玩家_10

 

 没感觉出什么差别,因为适配还有一步没整好

unity boss朝向玩家 unity角色移动朝向_Time_11

 

位移是应该*上Time.deltaTime(增量时间)的

因为Time.deltaTime是一个变量,代表着完成上一帧任务的时间

也就是说在因为性能而帧数不稳定时,Time.deltaTime也会随之变化

而位移这种需要平滑的量*上Time.deltaTime才能在FixedUpdate中平稳发挥(应该是这个意思

如果现在预览发现动起来像是在爬,修改一下人物移动速度即可

unity boss朝向玩家 unity角色移动朝向_unity boss朝向玩家_12

 

 

然后就可以准备开始添加跳跃功能了

unity boss朝向玩家 unity角色移动朝向_Time_13

 

 3.角色跳跃

跳跃跟移动差不多,只不过是方向不同的问题

但是左右移动可以长按一直移动,跳跃要是长按变成飞天那可能不太合适

所以这里先从设置中了解到跳跃的标识名

unity boss朝向玩家 unity角色移动朝向_图层_14

 

 

unity boss朝向玩家 unity角色移动朝向_unity boss朝向玩家_15

 

 再从代码中获取玩家是否点击jump(空格)按钮

然后声明一个跳跃力度(JumpForce)的变量

 

unity boss朝向玩家 unity角色移动朝向_unity boss朝向玩家_16

然后就可以加上让player躁动不安的代码了(?

 

 但是需要注意的是,FixedUpdate按时执行的方式代表了他很可能不能及时反映按键的落下

所以这里需要另起一个方法放在update中

unity boss朝向玩家 unity角色移动朝向_unity boss朝向玩家_17

 

 弄成这样就可以进游戏预览了

如果游戏中跳不起来或者跳的几乎察觉不出,可以把跳跃力度修改一下‘

unity boss朝向玩家 unity角色移动朝向_unity boss朝向玩家_18

 

 

unity boss朝向玩家 unity角色移动朝向_图层_19

 

 这里没有对跳跃次数做限制,可以无限跳跃

如果不想人物太飘可以再刚体属性中设置重力,让它自重一点(

unity boss朝向玩家 unity角色移动朝向_缩放_20

 

 然后就可以准备设置角色动画了

 

unity boss朝向玩家 unity角色移动朝向_Time_21