菜鸟的Unity自学日志3 添加物理效果

为John添加Rigidbody组件

该组件标记的对象是物理系统的一部分并且可以移动,我们希望John可以移动,并且会不穿墙。
在这里插入图片描述
选中John,在inspector窗口中点击Add Componet,搜索rigidbody组件保存后运行将会出现一点问题,John瞬间下落了一小段距离然后停止了。

Animator

Apply Root Motion

Animator组件上启用了“Apply Root Motion”,大多数的运动是相对于其父对象完成的,而John没有父对象,所以他的运动不是相对的。Animator正处于空闲状态,所以应该不会运动,但他却移动了一小段,正是由于Animator的更新模式。

动画的更新模式

Update loop:

对触发条件反映的更新。

Fixed Update:

默认的更新,动画将按顺序循环播放。

Animator组件作用于Updata loop的同时Rigidbody组件也作用于Fixed Update从而产生了冲突。

解决问题

Inspector窗口中单击Open(若没有Prefab栏,将Hierachy窗口中的JohnLmon拖入Asset/prefab中)
在这里插入图片描述
更新模式改为Animate Physics
在这里插入图片描述
该改变将会使该Animator组件与物理效果同时作用于John。不会出现竞争的情况。

限制John的运动

Constraints选项

在这里插入图片描述
为了使John的运动符合期望,所以要限制他的运动轨迹。我们不希望John在Y轴上运动,并且不希望他绕X轴或Z轴旋转,因为这不是正常的运动轨迹。
勾选相应的方块
在这里插入图片描述

添加 Collider 组件

同样的方法加入Capsule Collider组件,调整参数让形状大小到刚好装下John
在这里插入图片描述
在这里插入图片描述
这样角色就会对物理碰撞产生反应了。
保存完成

下一节

添加第一个C#脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值