Actionscript 3 将带有多个纹理的*.dae文件导入papervision 3D
通常,当您以*.dae格式导出3D对象时,文件附带一个文件夹,该文件夹包含对象的纹理,有人知道如何将*.dae文件及其纹理添加到我们的项目中吗?您应该将纹理放置到*.dae文件夹中,并按如下方式加载对象和纹理:Actionscript 3 将带有多个纹理的*.dae文件导入papervision 3D,actionscript-3,flash,augmented-reality,Actionscript 3,Flash,Augmented Reality,通常,当您以*.dae格式导出3D对象时,文件附带一个文件夹,该文件夹包含对象的纹理,有人知道如何将*.dae文件及其纹理添加到我们的项目中吗?您应该将纹理放置到*.dae文件夹中,并按如下方式加载对象和纹理: var bm:BitmapFileMaterial = new BitmapFileMaterial('PATH_TO_TEXTURE', true); var mat:MaterialsList = new MaterialsList(); mat.addMat
var bm:BitmapFileMaterial = new BitmapFileMaterial('PATH_TO_TEXTURE', true);
var mat:MaterialsList = new MaterialsList();
mat.addMaterial(bm2, 'MATERIAL_NAME');
mat.addMaterial(bm3, 'ANOTHER_MATERIAL_NAME');
var obj:DAE = new DAE();
obj.useOwnContainer = true;
obj.load('PATH_TO_DAE', mat);
...
<library_images>
<image id="TEXTURE_NAME-image" name="TEXTURE_NAME">
<init_from>2/TEXTURE_NAME.png</init_from>
</image>
</library_images>
<library_materials>
<material id="TEXTURE_NAME" name="TEXTURE_NAME">
<instance_effect url="#TEXTURE_NAME-fx"/>
</material>
</library_materials>
...
<library_visual_scenes>
<visual_scene id="RootNode" name="RootNode">
<node id="TEXTURE_NAME_tp3_Mesh01" name="TEXTURE_NAME_tp3_Mesh01">
<matrix sid="matrix">1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000</matrix>
<instance_geometry url="#TEXTURE_NAME_tp3_Mesh01-lib">
<bind_material>
<technique_common>
<instance_material symbol="MATERIAL_NAME" target="#MATERIAL_NAME"/>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
此外,应在*.dae中正确链接材质。大概是这样的:
var bm:BitmapFileMaterial = new BitmapFileMaterial('PATH_TO_TEXTURE', true);
var mat:MaterialsList = new MaterialsList();
mat.addMaterial(bm2, 'MATERIAL_NAME');
mat.addMaterial(bm3, 'ANOTHER_MATERIAL_NAME');
var obj:DAE = new DAE();
obj.useOwnContainer = true;
obj.load('PATH_TO_DAE', mat);
...
<library_images>
<image id="TEXTURE_NAME-image" name="TEXTURE_NAME">
<init_from>2/TEXTURE_NAME.png</init_from>
</image>
</library_images>
<library_materials>
<material id="TEXTURE_NAME" name="TEXTURE_NAME">
<instance_effect url="#TEXTURE_NAME-fx"/>
</material>
</library_materials>
...
<library_visual_scenes>
<visual_scene id="RootNode" name="RootNode">
<node id="TEXTURE_NAME_tp3_Mesh01" name="TEXTURE_NAME_tp3_Mesh01">
<matrix sid="matrix">1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000</matrix>
<instance_geometry url="#TEXTURE_NAME_tp3_Mesh01-lib">
<bind_material>
<technique_common>
<instance_material symbol="MATERIAL_NAME" target="#MATERIAL_NAME"/>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
。。。
2/TEXTURE_NAME.png
...
1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000
…谢谢你,弗拉基米尔,我将在我的项目中试用后立即报告