Henno-汉 1. 在编辑器环境中修改CollisionGroup,会有警告:2. 通过代码创建节点A,并添加CharacterController,如果A没有被添加到场景中,这时候因为collider没创建,所以CollisionGroup和canCollideWith的修改都无法生效。是否应该把_canCollideWith放到外面,保存下来比较合适呢? 3.打开编辑器翻译引擎符号,SkinWidth面板上显示为空 4.在面板修改Height、Radius、CenterOffset,绿色辅助线没有任何变化,绿色的辅助线是绘制的内部的colliderShape?补充:详细看了源码后,发现继承PhysicsColliderComponent的物理组件,都必需要添加到场景后再修改属性才生效。因为_collider是在添加到场景后才创建的,而大部分属性都是通过_collider设置。而3.0不存在这个问题。
Laya_Fred 您好,感谢您的反馈,问题已复现:1、此问题已复现并定位,可以关注下后续的日志更新内容。2、这个没有collider的时候确实不会赋值,若考虑放在外层直接设置_canCollideWith的话,此时没有设置生效,而get canColliderWith的值却是修改后的,可能会出现误导问题,这个后面我们考虑下进行下优化修改。3、这个问题已复现并定位到了,可以关注下后续的日志更新内容。4、目前角色控制器默认使用胶囊体碰撞形状,所以场景中显示的是默认的胶囊体大小,后面我们修改下设置角色控制器的胶囊半径与高度与胶囊体碰撞形状的关联,现在直接修改角色控制器面板上的半径与高度仍是生效的,只是场景编辑中我们要优化一下。
Henno-汉 Laya_Fred 感谢答复补充一下建议:2.修改了值,是否生效其实是体现在物理表现上,因此添加到场景才实际生效是可以接受的。但因为没添加到场景,连值都不能修改,这个会更奇怪一些(不看源码无法确认原因,而且行为上也与其他组件不一样)。期望是值能正常修改,只是添加到场景才实际生效。 另外发现CenterOffset在Bullet下是没有效果的(源码表示不支持该功能),这样无法调整碰撞形状的偏移,对于模型中心点在脚底的情况,只能通过单独的节点挂CharacterController才能满足需求。看能否支持上CenterOffset功能呢?或者在Bullet引擎下隐藏这个参数