gpt4 book ai didi

three.js - ColladaLoader : Could not find the skeleton for the skin

转载 作者:行者123 更新时间:2023-12-02 22:14:35 26 4
gpt4 key购买 nike

我试图渲染我在 3dsmax 中制作的原始角色,但似乎我导出的 DAE 文件有问题,或者只是 ColladaLoader 无法正确处理它。

场景由动画两足动物骨骼、使用 Physique 修改器的简单装配角色、一个静态框和一个动画框组成。

这是我的代码:

<script src="three.js" type="text/javascript"></script>
<script src="ColladaLoader.js" type="text/javascript"></script>
<script type="text/javascript">
var size_width = window.innerWidth;
var size_height = window.innerHeight;
var player;
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, size_width/size_height, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(size_width, size_height);
document.body.appendChild(renderer.domElement);

camera.position.x = 100;
camera.position.y = -50;
camera.position.z = 7;

camera.rotation.x = 1.4;

var player_loader = new THREE.ColladaLoader();

player_loader.load( "running_babe.dae", function(collada) {
player = collada.scene;
init();
});

function init() {
scene.add(player);
render();
}

function render() {
requestAnimationFrame(render);
renderer.render(scene, camera);
}
</script>

但我得到的只是那两个框和一个错误:

ColladaLoader: Could not find the skeleton for the skin.

这是我使用的导出的 DAE 文件 - http://touhou.ru/upload/ff72eb0b40adf5c97286a1bcb164e1f0.DAE

有什么建议吗?


更新:在使用皮肤修改器绑定(bind)角色后,我得到了相同的结果 - 找不到皮肤的骨架。

这是使用皮肤修改器导出的 dae 的链接 - http://touhou.ru/upload/af6ba52b7bff5fa2b0f6ba3f704a3b77.dae

最佳答案

在我开始阅读 threejs colladaloader 源代码并弄明白之前,我遇到了同样的问题并花了几天时间研究导出器设置。所以如果你还没有解决它,这是你必须做的:

首先:当您从 max 中导出模型时,请确保场景中的所有元素都没有与您的文件名同名(否则您的几何图形不会显示,这与 DAE 文件中生成的 id 有关)

现在,3DSMax 以某种方式忽略了导出节点,因此您必须手动添加:

  1. 在文本编辑器中打开 running_babe.dae 文件
  2. 寻找一个 节点并将其重写为:
<instance_controller url="....">
<skeleton>#xxxxx</skeleton>
</instance_controller>

其中“xxxxx”是 id(= 3dsmax 中的元素/骨骼名称),它是骨架层次结构的根元素。并且不要忘记开头的“哈希”! :)

希望能为您解决。我还没有尝试过动画,但我现在会尝试,如果此解决方案中有任何遗漏,请告诉您。

edit: nevermind, apparently i just scratched the surface of the tip of a huge frigging iceberg.. seems like getting collada(from 3dsmax 2013) + skinned animation working is a pain.. i'll look at writing a new json exporter. the format seems straight forward and well documented, plus, there's the old .ms file from github to start from. good luck to you! if you find something, be so kind as to post your method here, would you? :)

关于three.js - ColladaLoader : Could not find the skeleton for the skin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14702924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com