【发布时间】:2017-02-02 18:17:18
【问题描述】:
现在我的任务是从 MySQL 数据库加载 3d 模型并在 Three.js 中使用它。
这是我所做的,
我创建了一个这样的数据库
models{model_id int(4), model mediumblob};
我可以成功地将 JSON 格式的 3d 模型加载到数据库中。
我知道如何从数据库中检索数据。
但我的问题是 - '如何使从数据库加载的 JSON 文件供 Three.js 使用?'
我通常像这样加载 Json 文件
// instantiate a loader
var loader = new THREE.JSONLoader();
// load a resource
loader.load(
// resource URL
'models/animated/monster/monster.js',
// Function when resource is loaded
function ( geometry, materials ) {
var material = new THREE.MultiMaterial( materials );
var object = new THREE.Mesh( geometry, material );
scene.add( object );
}
);
这是 Three.js 文档中的示例代码。
资源 URL 似乎是物理上位于根目录中的文件。 但我无法在脑海中弄清楚“如何将从数据库获得的模型加载到 Three.js?”
我不要求任何代码。
只是指导我在 Three.js 中加载文件
我熟悉加载简单图像。但这是面向 html 的。这是面向 Three.js 的。
【问题讨论】:
-
monster.js文件路径相对于正在运行的 demo.html 文件。因此,如果您熟悉加载图像文件,您只需使用相同的路径结构。即好像您正在将图像文件加载到加载器中,但生成的路径指向 3d 模型 json。 -
我不使用路径来加载图像。它来自数据库。实际上我会查询图像数据。但是你能给我举个例子来用 JSONLoader 加载 json 吗?
-
Three.JS 文档中示例代码的中间行。
'models/animated/monster/monster.js',只需将此路径替换为 3d 模型的完整路径即可。路径长度和结构应该与加载图像文件时相同。 -
感谢您的回复
-
function load() { $sql = "SELECT model FROM
ovf_items_cycles"; if(!$res = $_ENV['db']->query($sql)) { echo '操作失败'; } while($row = $res->fetch_assoc() ) { echo $row['pid'] 。 ' ' 。 $row['pname']; } }
标签: javascript php three.js