2

我想编写一个 ModelViewer 来在我的场景中加载许多模型。那么如何在运行时创建 GLMaterialLibrary 并将其分配给运行时的 FreeForms 对象?我想知道如何找到子模型纹理的名称。TanX 寻求帮助。

4

1 回答 1

0

首先,您不需要在运行时创建 GlMaterialLibrary,因为您可以将 GLMaterialLibrary 的单个实例用于所有场景 GLFreeForms 并将其动态链接到新的自由形式。TFreeForm或TActor可以自动设置材质并从 3DS 文件加载纹理。您必须首先将材质库组件添加到表单(加载 3DS 后将存储材质),然后将 FreeForm 链接到此材质库并设置

UseMeshMaterials := true;

完成此操作后,在加载 3DS 网格时,导入器会将新材质添加到材质库(使用 3DS 文件中定义的名称),如果您愿意,可以稍后更改。请注意,必须支持图像格式,例如,如果您的纹理是 JPeg 文件,则必须在使用中添加“JPeg”。至少但不是最后:GLScene 附带了一个非常好的演示包,您可以检查参考。..\Demos\materials\文件夹包含您需要的一切。

于 2015-06-09T00:59:37.803 回答