[UE4]Add Customized Collision for Static Mesh
keywords: [UE4]Add Customized Collision for Static Mesh
对于结构简单的模型,使用UE4自动生成的Simple Collision没什么问题;如果模型结构复杂,使用Simple Collision不够精准,使用Complex Collision对于实时计算(比如开放世界大场景的游戏项目)的项目来说太耗。
UE4中自定义碰撞盒
Static Mesh默认打开后:
勾选 Simple Collision
然后选中 Collision,按Delete键删掉
然后点击菜单 Collision -》 Add Box Simplified Collision
然后就可以按W、E、R键修改 Box的坐标、转向、缩放等
缩放比例默认是0.5倍,也可以调整为更小的比例:
如果一个box无法恰好包裹整个物体,可以使用多个Box组合,例如:
官方文档:
Setting Up Collisions With Static Meshes
https://docs.unrealengine.com/en-us/Engine/Content/Types/StaticMeshes/HowTo/SettingCollision
Auto Converx Collsion
如果是常规的模型,比如石头,可使用UE自带的凸包(Converx Hull)生成工具:
UE自带的凸包生成不是很精准,碰撞会与mesh本身重叠,当通过碰撞来判断子弹弹痕贴花位置时,很容易穿帮。
在3DMax、Maya中创建自定义碰撞盒
UE4编辑器中虽然提供了添加自定义碰撞盒的功能,但是编辑起来不够灵活,对于特殊形状的物体,建议在建模软件中创建自定义碰撞盒。
1,比如U型物体,UE4自动生成的碰撞盒子是这样的:
简单碰撞
复杂碰撞
2,我们在建模软件中(这里以Maya为例),为U型物体添加三块遮挡方块
将U型物体和3个方块合成一个Group,并且碰撞盒子的命名一定要遵循规则:UCX_主物体名XXX。例如:主物体名称为pCylinder,则碰撞盒子的名称必须为:UCX_pCylinderXXX,否则导入UE4后这3个方块会被当作真实物体而不是碰撞体。
然后导出FBX文件,导入UE4时,去掉勾选:Auto Generate Collision;如果碰撞盒子没有和模型合成一个Group,还需要勾选:Combine Meshes。这里我们已经在Maya进行了Group操作,所以可以不用勾选 Combine Meshes。
导入UE4后,编辑器中打开该物体,然后勾选:Collision -》 Simple Collision
就可以看到3块自定义碰撞盒。
2022-09-14更新
当有多个ucx时,命名规则为: UCX_主体名称_1
, UCX_主体名称_2
, UCX_主体名称_3
,而不能是 UCX_主体名称xxx
(旧版本规则)。
复杂外形的UCX碰撞设置
如果勾选One Convex Hull Per UCX
(默认已勾选),则UCX mesh生成碰撞时,会将凹下的部位调整为凸出状。
不勾选则表示使用UCX原始的形状。
同时不要勾选Generate Missing Collision
。
小时候有无数个梦想,现在只想好好生活。