标签: collada

如何在不看"无标题动画"的情况下导出DAE文件以便在Scene Kit中使用?

我正在尝试将在Cheetah 3D和Blender 3D中创建的动画加载到Scene Kit中,但我得到的是一堆"无标题动画",每个动画都是相同的动画.

有谁知道如何从Blender或Cheetah 3D正确导出这些,以便Scene Kit可以使用它们?

blender collada scenekit swift

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

从Blender导出到COLLADA/.dae格式时包含纹理,以便在SceneKit中使用

我可以使用COLLADA/.dae格式导出在Blender中创建的网格,以便在SceneKit中使用 - 但iOS设备上不显示任何纹理.

此外,OS X上的预览不会打开从Blender导出的任何COLLADA文件 - 但是侧边栏预览显示网格.出口使这项工作需要哪些选项?

blender collada ios scenekit

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

Problems animating COLLADA Model

I have some problems animating a loaded COLLADA Model. I've written my own parser and now I also want to write my own draw routine as well. The problem ist, that as soon as I enable the animation on my model, the hands, legs and the head is stretched away from the origin of the model. (The loader is implemented based on the tutorial here: COLLADA Tutorial)

The first thing I do in my draw function of the model …

c++ xml opengl collada

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

在OpenGL中从blender求解z-Up导出的collada文件

我通过动画将模型从Blender输出到Collada.众所周知,Blender是一个右手系统,所以它的上轴是z,而OpenGL ES2是Y-Up.

对于静态网格物体,我可以围绕x轴旋转对象90度,但是当我将旋转应用于帧的矩阵时,它会产生意外结果.

那我该怎么做呢?

opengl-es blender collada opengl-es-2.0

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

Xcode的SceneKit编辑器呈现.dae文件错误,Xcode有时会在预览期间崩溃

我正在试图弄清楚如何将.dae带动画的文件导入Xcode和SceneKit.

它有点工作,但它真的很麻烦,我无法预览文件,Xcode有时会在尝试预览.daeXcode中的文件时崩溃.

这是我导入动画模型的方式

  1. 我从Mixamo下载动画角色,作为Collada文件,使用下面的设置.

在此输入图像描述

  1. 创建一个全新的SceneKit iOS项目,导入.dae文件,然后在Xcode文件列表中选择该文件进行预览.结果如下所示.我已经完全缩放以确保我不仅仅是从网格内部查看模型.线条看起来像infinetly延伸.

在此输入图像描述

  1. 如果我使用ConvertToXcodeCollada工作流,并验证.dae XML只有一个<animation>带有相应结束标记的标记,然后将其导入Xcode,它将根本不会打开.见下图.

在此输入图像描述

  1. 如果我导入的.dae文件版本使用ConvertToXcodeCollada转换,并且添加.dae文件作为.scn场景文件中的子参考,则模型会正确显示,并且动画正在播放.图片如下.

在此输入图像描述

那我该怎么做呢?

我还尝试将动画模型导入Blender,然后从那里将其导出到Collada(youtube上的教程中的非结构),以及相同的结果.有没有办法我能以正确的方式做到这一点,它的工作方式应该如此,没有Xcode表现出错误?如果我能.dae直接预览和编辑文件的材料等会更容易,而不必总是将它们添加到现有的.scnScene Kit场景中.

xcode collada ios scenekit

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

COLLADA文件查看器

更新:由于没有研究足够的SketchUp GUI,看起来是我自己的错.看看我自己的答案.

嗨,

我打算在我的地图软件中实现"导出到COLLADA"功能,但是由于缺少一个好的COLLADA文件查看器而受到阻碍.我尝试了几个应用程序:

  1. Google SketchUp提供了迄今为止我遇到的最佳观看体验,但导入COLLADA文件的速度非常慢.我尝试了这个我找到的样本,但是将它加载到SketchUp需要2-3分钟,而我正在一台体面的机器上运行它.由于开发出口代码涉及大量试验和错误,因此SketchUp对于实验工作来说太慢了.
  2. 我尝试过Blender,但对于没有进行日常3D游戏开发的人来说,用户界面非常陌生.但是我必须赞美它能够几乎立即加载样本文件,这让我觉得SketchUp的人要么在故意减慢免费版本的导入,要么他们需要梳理他们的编程技巧.(更新:事实证明你可以快速加载它,看到我的回答,抱歉.)
  3. 我还尝试了其他一些免费的观众,但他们要么没有正确展示样本,要么他们的观看能力非常有限(例如没有平移或轨道运行).

我会感激任何提示,但我正在寻找第一手经验,而不仅仅是谷歌搜索(我自己也尝试过).我意识到这不是一个典型的编程问题,但我认为在StackExchange上没有更好的地方来问这个问题.

3d collada sketchup

9
推荐指数
3
解决办法
2万
查看次数

改变Three.js collada对象的纹理和颜色

我最近在官方网站上使用了我的collada对象(.dae)获得了三个例子ColladaLoader.js.现在我的问题是,如何更改加载的collada对象颜色属性并添加自定义纹理?我尝试添加纹理没有运气.

这是我的代码(与原始示例略有不同):

function load_model(el) {

            if ( ! Detector.webgl ) Detector.addGetWebGLMessage();

            var container, stats;

            var camera, scene, renderer, objects;
            var particleLight, pointLight;
            var dae, skin;

            var loader = new THREE.ColladaLoader();
            loader.options.convertUpAxis = true;
            loader.load( '/site_media/models/model.dae', function ( collada ) {
                dae = collada.scene;
                skin = collada.skins[ 0 ];

                dae.scale.x = dae.scale.y = dae.scale.z = 0.90;
                dae.updateMatrix();

                init(el);
                animate();

            } );

            function init(el) {

                container = document.createElement( 'div' );
                el.append( container );

                camera = new THREE.PerspectiveCamera( 45, window.innerWidth / …
Run Code Online (Sandbox Code Playgroud)

javascript textures collada webgl three.js

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

分层COLLADA Loader for OpenGL3.1 + Context

哪些层有助于有效实现这一目标?优选地,这样我能够将下面列出的这三个组件与早期层一起使用,并且在我去的时候对其余组件进行编码.

我正在编写一个COLLADA加载库,用于我的图形引擎.所以当然我一开始就注意到这似乎是一项相当大的任务.我现在打算编写库来使用不同的层.

还明白COLLADA.我假设可能有:

  • 几何图层
  • 着色器层
  • Texure层

即使这些我不确定,也可能需要成为不同类型的分层方案的一部分.

旁注,我很可能会使用irrXML或这个有趣的XML库,我刚读到这里读取文件,除非另有建议.

c++ opengl 3d collada

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

Three.js Collada - 处理()和释放内存(垃圾收集)的正确方法是什么?

我已经通过ColladaLoader成功导入了.dae场景.

问题是,我需要在几个.dae文件之间切换.

我似乎无法正确实现dispose方法.

        dae.traverse(function(obj) {

            console.log('unloading ' + obj.id);

            scene.remove(obj);

            if(obj.geometry)
                obj.geometry.dispose();
            if(obj.material)
                obj.material.dispose();
            if(obj.mesh)
                obj.mesh.dispose();
            if(obj.texture)
                obj.texture.dispose();

        });

        scene.remove(dae);
Run Code Online (Sandbox Code Playgroud)

我可能做错了什么?

非常感谢提前!


编辑:

这是整个代码.

    var renderer = null;
    var scene = null;
    var camera = null;
    var controls = null;
    var dae = null;
    //var loader = null;

    function init() {


        renderer = new THREE.WebGLRenderer( { alpha: 1, antialias: true, clearColor: 0xffffff } );
        renderer.setSize( 800, 600 );

        var elem = $('.main3d')[0];
        elem.appendChild( renderer.domElement );

        scene = new THREE.Scene();

        camera …
Run Code Online (Sandbox Code Playgroud)

blender collada three.js

8
推荐指数
2
解决办法
6260
查看次数

SceneKit.哪种方式起来了?

似乎大多数3D创作应用程序使用Z作为"向上"轴.而SceneKit使用Y作为'向上'轴.SceneKit允许您将场景加载为Collada .DAE文件.通过以下任一方式加载场景时:

SCNScene(named: String?, inDirectory: String?, options: [NSObject : AnyObject]?)
Run Code Online (Sandbox Code Playgroud)

要么

SCNSceneSource(URL url: NSURL!, options: [NSObject : AnyObject]!)
Run Code Online (Sandbox Code Playgroud)

您可以指定选项,包括SCNSceneSourceConvertToYUpKey和SCNSceneSourceConvertUnitsToMetersKey.

相应地设置这些,我期望当我将它们添加到从加载的场景中的节点构造的我自己的场景中时,各个节点被变换和缩放.但这些选项似乎没有效果.

let myScene = SCNScene(named: "Scene.dae", inDirectory: nil, options: [SCNSceneSourceConvertToYUpKey:true, SCNSceneSourceConvertUnitsToMetersKey:25.4])
Run Code Online (Sandbox Code Playgroud)

我误解了这些选项参数的含义吗?

collada ios scenekit swift

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