[LayaAir3]3.1.0 beta4 CharacterController组件问题
1. 在编辑器环境中修改CollisionGroup,会有警告:
2. 通过代码创建节点A,并添加CharacterController,如果A没有被添加到场景中,这时候因为collider没创建,所以CollisionGroup和canCollideWith的修改都无法生效。是否应该把_canCollideWith放到外面,保存下来比较合适呢?
3.打开编辑器翻译引擎符号,SkinWidth面板上显示为空
4.在面板修改Height、Radius、CenterOffset,绿色辅助线没有任何变化,绿色的辅助线是绘制的内部的colliderShape?
补充:
详细看了源码后,发现继承PhysicsColliderComponent的物理组件,都必需要添加到场景后再修改属性才生效。因为_collider是在添加到场景后才创建的,而大部分属性都是通过_collider设置。而3.0不存在这个问题。
2. 通过代码创建节点A,并添加CharacterController,如果A没有被添加到场景中,这时候因为collider没创建,所以CollisionGroup和canCollideWith的修改都无法生效。是否应该把_canCollideWith放到外面,保存下来比较合适呢?
3.打开编辑器翻译引擎符号,SkinWidth面板上显示为空
4.在面板修改Height、Radius、CenterOffset,绿色辅助线没有任何变化,绿色的辅助线是绘制的内部的colliderShape?
补充:
详细看了源码后,发现继承PhysicsColliderComponent的物理组件,都必需要添加到场景后再修改属性才生效。因为_collider是在添加到场景后才创建的,而大部分属性都是通过_collider设置。而3.0不存在这个问题。
没有找到相关结果
已邀请:
2 个回复
layabox
赞同来自:
Laya_Fred
赞同来自:
1、此问题已复现并定位,可以关注下后续的日志更新内容。
2、这个没有collider的时候确实不会赋值,若考虑放在外层直接设置_canCollideWith的话,此时没有设置生效,而get canColliderWith的值却是修改后的,可能会出现误导问题,这个后面我们考虑下进行下优化修改。
3、这个问题已复现并定位到了,可以关注下后续的日志更新内容。
4、目前角色控制器默认使用胶囊体碰撞形状,所以场景中显示的是默认的胶囊体大小,后面我们修改下设置角色控制器的胶囊半径与高度与胶囊体碰撞形状的关联,现在直接修改角色控制器面板上的半径与高度仍是生效的,只是场景编辑中我们要优化一下。