Unity中碰撞与触发的理解与效果实现

首先要搞明白Unity中C#脚本的六个阶段:1、初始阶段:比如Awake()唤醒(当物体载入时立即调用一次,常用于游戏开始前进行初始化)和Start()开始(物体载入且脚本启用时被调用一次,常用于数据或游戏逻辑的初始化,执行时机晚于前者);2、物理阶段:FixedUpdate固定更新,当脚本启用时,固定时间被调用,适用于游戏对象的物理操作例如移动;OnCollisonXXX碰撞,当满足碰撞条件时调用;OnTriggerXXX触发,当满足触发条件时调用;3、游戏逻辑:Update更新,每帧执行一次
摘要由CSDN通过智能技术生成

首先要搞明白Unity中C#脚本的六个阶段:

1、初始阶段:比如Awake()唤醒(当物体载入时立即调用一次,常用于游戏开始前进行初始化)和Start()开始(物体载入且脚本启用时被调用一次,常用于数据或游戏逻辑的初始化,执行时机晚于前者);

2、物理阶段:FixedUpdate固定更新,当脚本启用时,固定时间被调用,适用于游戏对象的物理操作例如移动;OnCollisonXXX碰撞,当满足碰撞条件时调用;OnTriggerXXX触发,当满足触发条件时调用;

3、游戏逻辑:Update更新,每帧执行一次;LateUpdate延迟更新,在前者被调用后执行,适用于跟随逻辑;

4、输入事件:OnMouseEnter鼠标移入当前Colider时调用,OnMouseOver鼠标经过当前碰撞器时调用,相同的还有OnMouseExit鼠标离开,OnMouseDown鼠标按下,OnMouseUp鼠标抬起;

5、场景渲染:这里一般用不到;

6、结束阶段:一般也用不到;

理解这六个阶段后就可以知道,一般打开一个C#脚本会默认给出void start()和void Update()这其实就是一般游戏脚本只包含初始阶段和游戏逻辑阶段就够了。但有时需要两个物体相互碰撞或者碰撞后触发一个事件的执行,这时候就要在脚本中加OnCollisonXXX()和OnTriggerXXX()然后在这两个中写上代码。切记不要把他们当方法看待,这两个阶段与start和update同级是不能被调用的,这里新手会有疑问,在这里笔者强调一下。

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值