unity3d Unity碎布玩偶导致网格渲染器出现问题

eqfvzcg8  于 2023-04-21  发布在  其他
关注(0)|答案(2)|浏览(84)

我把这个敌人设定成死后变成一个布娃娃,飞到空中,表现得像一个布娃娃。据我所知,一切都很好。
除了我遇到的问题,敌人不断弹出和消失的存在,这取决于相机的旋转/位置。
这是它看起来像之前的问题。

然后,从这个位置,如果我稍微旋转相机,结果是这样的:

游戏暂停时,这是发生,所以它是不相关的运动以任何方式。我也可以旋转相机来回,和模型将继续弹出和退出存在。没有游戏对象被破坏。
它也与模型夹入/下地板无关,正如你在图片中看到的,我把它从地板上举起来测试它,它仍然发生在半空中。
这个问题只发生在敌人是布娃娃的时候。如果我关闭布娃娃死亡,这样的事情就不会发生了。
你知道是什么导致了这种情况吗?

6xfqseft

6xfqseft1#

我猜你的敌人正在使用蒙皮网格渲染组件。当同时使用布娃娃和蒙皮网格渲染时,装备的骨骼或顶点可能会被推到边界之外。Unity只渲染你的网格,如果它的边界在相机视图中。Unity文档建议在所有蒙皮网格渲染器上增加边界或打开“在屏幕外更新”。
More info here

k3fezbri

k3fezbri2#

这是很容易错过,因为它是唯一可见的,如果你暂停游戏检查模型/蒙皮网格渲染器在场景视图,所以我把它放在这里的任何人挣扎,如果是这种情况。

Skinned Mesh Renderer有一个根骨骼属性,该属性多次设置为根骨骼(甚至None),而不是角色的髋骨。在一些导入的模型中(从它的外观来看,我猜这是一个 Synty 模型,它完全有我将要描述的问题)添加一个布娃娃会导致渲染器不能按照我们想要的方式整体跟随模型,这会导致奇怪的行为,其中一个可能会从游戏屏幕上完全消失。
Hips Bone指定为“Mesh Renderer Root Bone”,以便它可以跟随模型的位置和旋转。

注意:如果髋部骨骼由于模型的创建方式而发生旋转,结果可能会很奇怪。为了解决这个问题,请在根骨骼内创建一个空的gameObject,然后将其放置在髋部骨骼内,最后将其指定为渲染器的根骨骼。

这样蒙皮网格渲染器将跟随角色,你不会看到它随机消失!

相关问题