gpt4 book ai didi

json - Three.js:使用 THREE.JSONLoader.parse 而不是 THREE.JSONLoader.load 时出现异常

转载 作者:行者123 更新时间:2023-12-01 19:28:22 33 4
gpt4 key购买 nike

当我创建一个 JSON 模型并使用 THREE.JSONLoader.load 加载它时,它的加载没有任何问题,但是当我尝试从中创建一个变量并将数据包含在主脚本中时,THREE.JSONLoader.parse 调用抛出异常。

var lh_model = {
"metadata" : { "formatVersion" : 3.1, ..., "morphTargets" : 0 },
"vertices": [
0.001000, 0.001000, -0.001000,
102.616974, -61.974983, 19.303007,
102.108978, -62.482986, -7.620989,
123.952972, -49.274994, -3.048992,
123.952972, -48.766994, 14.223002
],
"uvs": [0.9458,0.5134,0.9419,0.5177,0.9513,0.5177,........],
"faces": [ 0, 4, 1, 2 ],
"morphTargets": []
}

var loader = new THREE.JSONLoader();
var geometry = loader.parse(lh_model);

load.parse 导致

未捕获类型错误:无法读取未定义的属性“长度”

Three.js 深处的某个地方出现错误:

THREE.Mesh.prototype.updateMorphTargets = function () {

if ( this.geometry.morphTargets.length > 0 ) {

当我采用其他人( http://stemkoski.github.io/Three.js/Model.html )制作的工作示例时,也会发生同样的情况。

我正在使用 Three.js r.58

最佳答案

这样做

var loader = new THREE.JSONLoader();
var model = loader.parse( lh_model );

var mesh = new THREE.Mesh( model.geometry, new THREE.MeshBasicMaterial() );
scene.add( mesh );

如果您将 Material 添加到模型中,您会执行类似的操作

var mesh = new THREE.Mesh( model.geometry, materials[ 0 ] );

三.js r.58

关于json - Three.js:使用 THREE.JSONLoader.parse 而不是 THREE.JSONLoader.load 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17092612/

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