标签: collada

将一个坐标系的旋转转换为另一个坐标系所需的矩阵

我在“自制”GL 坐标系中有旋转矩阵,并希望将它们应用于 collada 坐标系。

我知道我需要一个矩阵来乘以 GL 旋转以将它们转换为 collada 坐标系(其中 Z 实际上是 UP)。坐标系如下图所示:

在此处输入图片说明

我需要从左系统到右系统的转换..为了更多的理解:
ColladaMatrix=GLRotMatrix*NeededMatrix

有人知道我需要的矩阵吗?

c++ rotation matrix collada

2
推荐指数
1
解决办法
2788
查看次数

Three.js 部分拉伸纹理

我正在使用 Collada 加载器在 Three.js r65 中加载我的 3D 对象。在加载回调中,我使用以下代码立即将纹理应用于模型的所有部分。

var loader = new THREE.ColladaLoader();

loader.options.convertUpAxis = true;
loader.load('obj/cdg/Grenada-test1.dae', function(collada) {

    var texture = new THREE.ImageUtils.loadTexture("../models/textures/Gr1 08869 Bready Grey.jpg");


    var material = new THREE.MeshPhongMaterial({map: texture, tranparent: true});
    for (var i = 0; i < collada.scene.children.length; i++) {
        collada.scene.children[i].material = material;
    }

});
Run Code Online (Sandbox Code Playgroud)

在 Three.js 中它看起来像这样(纹理在某些位置被拉伸)。

Three.js 中的沙发

该对象在应用了纹理的 Unity 3D 中显示良好,请参见下图。

沙发上的团结

我尝试过的:

  • 在 Three.js 和 Blender 中更新 UV 贴图
  • 在不同的程序(Unity 3D)中加载模型以查看问题是否出现在那里
  • 搜索了许多SO问题,但无济于事

有人知道这里发生了什么以及我如何解决这个奇怪的纹理问题吗?

提前致谢!

编辑:

这是它的样子 texture.repeat.set( 2, 2 ) Three.js 模型与纹理重复 2

这是看起来像 texture.repeat.set( 10, 10 …

javascript textures collada webgl three.js

2
推荐指数
1
解决办法
4868
查看次数

xcode9 / SceneKit - .dae 文件未加载到 SCNScene - 返回 nil

我正在尝试使用以下代码将 .dae 文件加载到 SCNScene 中:

let solutionScene = SCNScene(named: "art.scnassets/level1.dae")
print(solutionScene?.rootNode) // prints nil

solutionNode = solutionScene?.rootNode.childNode(withName: "level1", recursively: true)
Run Code Online (Sandbox Code Playgroud)

我使用默认设置从 Blender 导出 .dae 文件作为 COLLADA,只包含一个简单的对象。

当我在 XCode 的 art.scnassets 文件夹中单击 .dae 文件时,它打开没有问题,我可以看到几何图形、相机等。

我只是无法在 SCNScene 中加载它。我在 Blender 方面或 Xcode/Swift 方面有什么遗漏吗?

xcode collada scenekit swift

2
推荐指数
1
解决办法
1544
查看次数

如何用Java解析高级XML文件

我已经看过很多关于如何用Java读取XML文件的例子.但它们只显示简单的XML文件.例如,它们展示了如何从XML文件中提取名字和姓氏.但是,我需要从collada XML文件中提取数据.像这样:

<library_visual_scenes>
    <visual_scene id="ID1">
        <node name="SketchUp">
            <instance_geometry url="#ID2">
                <bind_material>
                    <technique_common>
                        <instance_material symbol="Material2" target="#ID3">
                            <bind_vertex_input semantic="UVSET0" input_semantic="TEXCOORD" input_set="0" />
                        </instance_material>
                    </technique_common>
                </bind_material>
            </instance_geometry>
        </node>
    </visual_scene>
</library_visual_scenes>
Run Code Online (Sandbox Code Playgroud)

这只是collada文件的一小部分.在这里,我需要提取visual_scene的id,然后提取instance_geometry的url并持续instance_material的目标.当然我需要提取更多,但我不明白如何使用它,这是一个开始的地方.

到目前为止我有这个代码:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
    builder = factory.newDocumentBuilder();
}
catch( ParserConfigurationException error ) {
    Log.e( "Collada", error.getMessage() ); return;
}
Document document = null;
try {
    document = builder.parse( string );
}
catch( IOException error ) {
    Log.e( "Collada", error.getMessage() ); return;
}
catch( SAXException error ) …
Run Code Online (Sandbox Code Playgroud)

java xml collada

1
推荐指数
1
解决办法
2687
查看次数

Three.js 中的动画太快

我正在使用 ColladaLoader 将模型和骨骼动画加载到 Three.js 中,据我所知,它似乎正在执行正确的动作,但由于某种原因,动画速度快得离谱。你如何控制动画的速度?

animation collada three.js skeletal-animation

1
推荐指数
1
解决办法
6032
查看次数

在three.js中查找对象尺寸

简短的问题。如何在three.js中找到网格的尺寸?

我有Collada(.dae)文件,我想知道单位(x,y,z)的大小。我已经看到了有关使用的评论geometry.computeBoundingBox(),但是我仍然不确定如何使用它。

我也知道使用,scale但我的最终目标是将场景中的对象与实际测量值(mm)进行比较,这样有助于了解对象的确切物理尺寸,以便在必要时进行更改。

欣赏任何智慧的话:^)

javascript 3d collada three.js

1
推荐指数
1
解决办法
1485
查看次数

什么是'Collada'场景图?

什么是Collada场景图?

我可以拍摄一个我从Google 3D仓库下载并以某种方式将其转换为Collada场景图的场景吗?

该过程是否以某种方式分割场景?

scenegraph collada

0
推荐指数
1
解决办法
1018
查看次数