javascript — загрузка 3d модели из БД и использование ее в Three.js

Теперь моя задача — загрузить 3d-модель из базы данных MySQL и использовать ее в Three.js.

Вот что я сделал,

я создал такую ​​базу данных

models{model_id int(4), model mediumblob};

Я могу успешно загружать 3d модели в формате JSON в базу данных и из нее.

Я знаю, как получить данные из БД.

Но моя проблема — «Как мне сделать файл 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.

2

Решение

Смотря на Мне нужна моя страница PHP, чтобы показать мое изображение BLOB из базы данных MySQL Я бы попробовал взять
:
<img src="image.php?id=<?php echo $image_id; ?>" /> линия и используя src атрибут для загрузчика js, поэтому в js (я предполагаю, что он работает на веб-странице через HTML) что-то вроде:

ЯШ:

// set up a path variable
var filed = 'model.php?id=<?php echo $sql_id; ?>'

// instantiate a loader

var loader = new THREE.JSONLoader();
// load a resource
loader.load(
// resource URL location
filed,
// Function when resource is loaded
function ( geometry, materials ) {
var material = new THREE.MultiMaterial( materials );
var object = new THREE.Mesh( geometry, material );
scene.add( object );
}
);

а затем php:

<?php
function load() { $sql = "SELECT model FROM ovf_items_cycles"; if(!$res = $_ENV['db']->query($sql)) { echo ' failed to operate'; } while($row = $res->fetch_assoc() ) { echo $row['pid'] . ' ' . $row['modeldata']; } }
?>

Это набросок, так как мой php не очень хорош. Но в конечном итоге было бы намного проще, если бы вы могли также сохранить путь к файлу BLOB-объекта в вашем sql и получить доступ к нему для переменной loader.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]