Я только что создал случайную сетку, используя Blender, и я хочу экспортировать ее для использования в HTML5 через Three.js. Я не видел никаких достойных учебников, которые показывают, как это сделать. Может ли кто-нибудь помочь мне с этим? Я просто хочу, чтобы 3D-сетка отображалась в Интернете, а анимация не включалась. Благодаря!Blender export to Three.js
ответ
Самый простой способ я нашел после долгих поисков и проб и ошибок был Three.ColladaLoader
. Поместите файлы .dae
в папку под названием models
в вашем каталоге /root
. Я обнаружил, что экспортер Blender JSON менее надежный. Вызов функции PinaCollada из функции init()
, Somthing так:
function init(){
scene = new THREE.scene;
...
var object1 = new PinaCollada('model1', 1);
scene.add(object1);
var object2 = new PinaCollada('model2', 2);
scene.add(object2);
...
}
function PinaCollada(modelname, scale) {
var loader = new THREE.ColladaLoader();
var localObject;
loader.options.convertUpAxis = true;
loader.load('models/'+modelname+'.dae', function colladaReady(collada) {
localObject = collada.scene;
localObject.scale.x = localObject.scale.y = localObject.scale.z = scale;
localObject.updateMatrix();
});
return localObject;
}
+1 для пина PiñaCollada. –
Вам нужно вернуть переменную localObject при обратном вызове и удалить имя функции colladaReady. –
вам нужен threejs блендера экспортер: read this
I не пробовал ColladaLoader широко, но я бы с удовольствием согласился с тем, что экспортером ThreeJS Blender Exporter и его json-продуктом будет предпочтительный выбор, хотя бы в том, что он является «официальным» форматом ThreeJS и должен, по крайней мере, во времени, быть наиболее поддерживаемым и стабильным конвейером от Блендера. Я просто размышляю, так что я мог ошибаться ... – null
var loader = new THREE.JSONLoader(true);
loader.load({
model: "model.js",
callback: function(geometry) {
mesh = new THREE.Mesh(geometry,new THREE.MeshFaceMaterial);
mesh.position.set(0,0,0);
mesh.scale.set(20,20,20);
scene.add(mesh);
renderer.render(scene, camera);
}
});
Является основной загрузчик для JSON three.js; вы также должны смотреть в:
Как настроить холст, сцена, свет и камеры (если вы уже не имеете и не используют те, блендер)
morphTargets (если вы оживляющий)
материалов (если вы хотите настроить)
выбранный ответ не возвращает обещание или обратный вызов, так что вы не знаете, когда вы можете установить вещи. Я добавил небольшой класс, который будет показан и показан, как вы можете его использовать. Он обертывает загрузчик collada.
var ColladaLoaderBubbleWrapper = function() {
this.file = null;
this.loader = new THREE.ColladaLoader();
this.resolve = null;
this.reject = null;
this.colladaLoadedNotifier = this.colladaLoadedNotifier.bind(this);
this.onLoad = this.onLoad.bind(this);
};
ColladaLoaderBubbleWrapper.prototype.loadCollada = function(file) {
this.loader.load(file, this.onLoad, this.onDownloadProgress);
return new Promise(this.colladaLoadedNotifier);
};
ColladaLoaderBubbleWrapper.prototype.colladaLoadedNotifier = function(resolve, reject) {
this.resolve = resolve;
this.reject = reject;
};
ColladaLoaderBubbleWrapper.prototype.onLoad = function(collada) {
this.resolve(collada);
};
ColladaLoaderBubbleWrapper.prototype.onDownloadProgress = function(xhr) {
console.log((xhr.loaded/xhr.total * 100) + '% loaded');
};
Затем использовать его включают Collada погрузчик:
<script src="js/loaders/ColladaLoader2.js"></script>
<script src="js/blender/colladaBubbleWrap.js"></script>
и в основных JS
var colladaLoader = new ColladaLoaderBubbleWrapper();
var colladaLoaded = colladaLoader.loadCollada('colladas/brick/brick.dae');
colladaLoaded.then(function(collada) {
scene.add(collada.scene);
});
- 1. Blender GLSL Export to THREE.js
- 2. Blender MakeHuman to Three.js
- 3. export model from blender to three.js отображается инвертированным
- 4. Blender 2.6.1 export to ogre
- 5. three.js Blender export, path path & rotation
- 6. export from Three.js to .obj
- 7. blender import/export script
- 8. Blender json export; «анимация» отсутствует
- 9. makehuman skeletal animation export to three.js
- 10. 3D max export to three.js с черепицей
- 11. Blender export addon и bl_idname
- 12. Blender three.js exporter breaks scene
- 13. blender экспорт json для three.js
- 14. Использование three.js с blender-embed .json files
- 15. Blender-File to Xcode
- 16. Three.js Skeletal Animation Export Issue
- 17. Загрузите анимацию Blender в Three.js с помощью экспортера Three.js (JSON)
- 18. Three.JS Blender экспортирует только один объект
- 19. Three.js экспортирует модель Blender без текстуры
- 20. Blender three.js экспортер игнорирует карту мира?
- 21. Three.js - Лица, отсутствующие после импорта Blender
- 22. Экспорт цели морфинга из Blender в three.js
- 23. Blender - Three.js - экспортная/импортная сетка выглядит уродливой
- 24. Blender Three.js экспортер многоуровневый объект с анимацией
- 25. Three.js Blender Exports With No Materials
- 26. Плагин Three.JS для Blender не работает
- 27. Three.js/Blender/morph анимация - нет цвета/цвета
- 28. Работает ли Blender 2.72 с надстройкой Three.JS?
- 29. Blender to Three.js (.JSON) и OBJ to .JS проблемы с картированием текстуры
- 30. Blender to Unity, сглаживание вершин
здесь простой Three.js с блендера учебник –
pakotzintote
Отметьте это сообщение блога: http://www.kadrmasconcepts.com/blog/2011/06/06/three-js-blender-2-5-ftw/ –