Unity自动化碰撞体生成方法-Normal Collider 和 碰撞体代理

如何在Unity中对角色快速创建碰撞体(Normal Collider)和碰撞体代理(Fake Collider)

前言

快速给Humanoid人形角色添加碰撞体,使用Unity 的Collider系列,用来做物理检测,比如基于物理的动画系统,需要用自带的Collider做碰撞检测。有些使用条件我们需要自定义碰撞检测,比如格斗游戏需要自定义碰撞检测框体,我们就需要针对角色快速的创建碰撞框代理。

目前支持的功能

  • Unity Collider (内置碰撞体,胶囊碰撞体)
  • Fake Collider(Line-Sphere碰撞代理)

实现原理

使用Humanoid提供的Avatar识别人体骨骼,根据人形骨骼,在相应的骨骼节点创建碰撞体。

使用方法

编辑器界面

如何创建和调整

  1. 打开 FTP_Tools/ FTP - AutoWrapHumanBodyColliders菜单
  2. 选择碰撞体类型(Collider或者Fake Collider)
  3. 设置对象(内部检测是否是humanoid,同时检测avatar骨骼映射)
  4. Normal Type:点击Mapping Bone and Auto create collider
  5. Fake Collider Type:点击映射骨骼
  6. Fake Collider Type:点击重置,重置过后,进行初步的配置
  7. Fake Collider Type:设置完毕,点击Finish,进行细致的调节
  8. Fake Collider Type:根据人形骨骼选择对应的控制器调节
  9. Fake Collider Type:两点吸附或者分别调整,在场景中选择Handler进行移动位置
  10. 关闭窗口过后,需要再次调整,直接重新打开窗口,自动识别当前的碰撞框创建的类型

如何清空碰撞体

  1. 打开 FTP_Tools/FTP - ColliderTools
  2. 选择输入和输出
  3. 如果角色骨骼节点一致,直接通过名字映射查找,重新导入了fbx,骨骼层级和名字没变的情况下
  4. 骨骼节点不一致,直接通过avatar骨骼映射,修改了骨骼层级或者名字,可以通过avatar为参照依据进行拷贝
  5. 选择清空对象,点击两种类型的清空即可(Unity自带的collide只会情况和人形相关的骨骼碰撞体,不会清空误删其他的碰撞框)

效果截图

Unity碰撞体和碰撞体代理创建效果

源码地址

源码github地址https://github.com/tinyantstudio/AutoColliderSetUp

希望点星支持,谢谢~

改进计划

  1. 支持多种原生碰撞体
  2. 支持自定义类型的fake collider

总结

希望能够给需要的朋友带来一定的帮助,欢迎交流,有错误或者改进意见交流,可以在Github或者评论中指出。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值