如何制作Python Ursina引擎的方块纹理?

4

我想知道如何在Python Panda3D包装器中使用ursina引擎库创建一个简单的立方体纹理。

这是我尝试过的代码:

from ursina import *

app = Ursina()
window.fps_counter.enabled = False


class Voxel(Button):
    def __init__(self, position=(0,0,0), texture='red.png'):
        super().__init__(
            parent = scene,
            position=position,
            model='cube',
            origin_y=0.5,
            texture=texture,
            color=color.color(0,0, random.uniform(0.9, 1.0)),
            scale = 1.0
        )


for x in range(3):
    for y in range(3):
        for z in range(3):
            voxel = Voxel(position=(x,y,z))
EditorCamera()
app.run()
  1. 我想知道如何制作UV贴图(我做的一个很糟糕)。
  2. 我想知道如何将UV贴图转换为ursina引擎的立方体纹理。
2个回答

5

内置纹理非常适用于Ursina Voxels引擎,它们包括:

'arrow_down'
'arrow_right'
'brick'
'circle'
'circle_outlined'
'cobblestone'
'cursor'
'file_icon'
'folder'
'grass'
'heightmap_1'
'horizontal_gradient'
'noise'
'radial_gradient'
'reflection_map_3'
'shore'
'sky_default'
'sky_sunset'
'ursina_logo'
'ursina_wink_0000'
'ursina_wink_0001'
'vertical_gradient'
'white_cube'

它们都是很好的纹理。但是如果您不想使用内置的纹理,请使用 .jpg、.psd 或 .png 文件,但是不要包含文件扩展名

例如:My_Image.png将被导入为...

Entity(model=cube,
       texture='My_Image')

如果你有多个文件的名称相同,但是文件扩展名不同,例如: My_Image.pngMy_Image.jpg, 并且两者都兼容,它将使用目录中的第一个文件。 我希望这可以帮到你。如果有效,请批准此内容以便其他人看到它的作用。它对我有用,希望它能改善你的程序!

我发现导入 .obj 文件通常很困难,但贴图我可以做到。 - SamTheProgrammer
感谢您的批准! - SamTheProgrammer

1
没有ursina特定的纹理。导入纹理时,只需使用texture='cool_file'不要包含扩展名.jpg.png.psd)。Ursina目前支持png、jpeg和psd图像(因为默认情况下未安装psd-tools库,所以需要先安装)。
如果您想进行UV映射,您需要直接在3D软件(例如Blender)中进行,并仅导入模型。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接