javascript - 从变量加载模型

标签 javascript three.js

关于将Three.js模型加载到场景中的所有建议都涉及JSONLoader :

var loader = new THREE.JSONLoader();
var createMesh = function(geometry) { 
   var zmesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial() );
   zmesh.position.set( 0, 0, 0 );
   zmesh.scale.set( 3, 3, 3 );
   zmesh.overdraw = true;
   scene.add(zmesh);
};
loader.load("the_model.js", createMesh);

但是,如果我想使用一个已经通过 <script> 加载的 JavaScript 文件怎么办?标签?

var the_model = {
   "metadata" : {
      "formatVersion" : 3.1,
      .......................
   },
   "scale" : 1.000000,
   "materials" : [ {
   ........................
}

我如何使用这个 var the_model使用 Three.js?

用它代替 geometry 没有帮助。

最佳答案

您可以使用 THREE.JSONLoader.parse 来完成此操作而不是 THREE.JSONLoader.load :

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

由于不必发出 AJAX 请求,因此调用是同步的。

关于javascript - 从变量加载模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17052458/

相关文章:

three.js - 三个JS : objects don't cast shadow on others

javascript - 在 React 中选择单选按钮提交表单

javascript - 我刚刚发现了一个基于时间的背景变化,但无法重复

javascript - 仅当我打开开发人员工具栏时加载模型

javascript - Three.js - 它有顶点索引着色吗?

javascript - Three.js 使用鼠标绘制3D矩形

javascript - 在 Three.js 中,有没有办法获取附加到对象的 Controller 列表?

javascript - 验证 apostrope cms 中的 bool 字段 apostrope-pieces-submit-widgets

javascript - 如何通过 jQuery 滑动切换下拉菜单项?

javascript - 为什么需要这个 JavaScript?