(ursina) 防止部分透明模型

(ursina) Prevent partially transparent model

我正在使用带有 Python3.8 的 Ursina 来做一些 3D 世界的东西。

我想载入一个传送门枪的3D模型,看看我能不能做到。我已经成功地做到了,但它看起来 很奇怪 。我附上了一些屏幕截图,以便您明白我的意思。

据我所知,看起来我在模型上看到的表面是透明的...而且我看到了模型的内部。
我希望 Portal 枪看起来像在真正的 Portal 游戏中一样
有谁知道如何防止出现奇怪的透明效果,使其不显示模型内部?

我用来在游戏中添加实体的代码行:
Entity(model='portal_gun.fbx', position=(.5,3,.25), scale=.08, origin_z=-.5, rotation_z=0, color=pcolor, on_cooldown=False, name="gun", texture=("/models/tex/w_portalgun.png"), shader=unlit_shader)
对于上下文,它同时使用 'unlit_shader' 和 'lit_with_shadows_shader'
我正在使用这个 3D 模型:https://sketchfab.com/3d-models/portal-gun-from-portal-2-original-model-80fc291d695a4fe69e7941e96c0f53b3

angle 1 of portal gun

angle 2 of portal gun

better angle showing the inside of the top surface

看起来这些面被翻转了,模型呈现顺时针方向的缠绕顺序。 (参见:https://www.khronos.org/opengl/wiki/Face_Culling#:~:text=This%20is%20determined%20by%20the,clockwise%20around%20the%20triangle's%20center.

您可以通过在 3d 建模程序中翻转面或调用 entity.flip_faces()

来更改此设置