gpt4 book ai didi

javascript - 对于 Three.js 使用 Json 而不是 obj 有什么好的理由吗

转载 作者:行者123 更新时间:2023-11-30 15:04:20 24 4
gpt4 key购买 nike

我正在使用 threejs 加载 3D 对象。有不同的加载器,一种使用 JSON 文件,另一种使用 OBJ 文件。我想知道使用 JSON(示例 1)而不是 OBJ 文件(示例 2)是否有任何好处。

Example1 loading JSON:

var loader = new THREE.PlayCanvasLoader();
loader.load( './models/playcanvas/hand.json', function ( model ) {...

Example2 loading OBJ:
var loader = new THREE.OBJLoader( manager );
loader.load( 'obj/brain.obj', function ( object ) {...

最佳答案

以下是选择格式时的三个标准:

  1. 功能。 OBJ (Wavefront) 是一种较旧的格式,不支持动画、PBR Material 、灯光、相机等许多功能。我不熟悉 PlayCanvas JSON 格式,但它可能做更多的事情。
  2. 工作流程。根据您获取模型的位置以及您计划如何(或是否)更新它们,某些格式更容易导出且更不容易出错。例如,Autodesk 软件适合导出 FBX。如果您有一些有用的东西,请随时坚持使用。
  3. 性能。某些格式可以比其他格式更快地加载。 OBJ 可能在这里比较慢。但是无论如何,场景的运行时性能(在加载模型之后)都是一样的,所以这并不总是一个问题。

另请注意,three.js 支持多种 JSON 格式。 THREE.JSONLoaderTHREE.ObjectLoader 都接受与 THREE.PlayCanvasLoader 不同类型的 JSON。这些 JSON 格式在 three.js 中运行良好,但在 Maya 或 Blender 等建模工具中导入和编辑会比较困难。

关于javascript - 对于 Three.js 使用 Json 而不是 obj 有什么好的理由吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46020821/

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