Właśnie utworzyłem losową siatkę przy użyciu Blendera i chcę ją wyeksportować do użycia w HTML5 przez Three.js. Nie widziałem przyzwoitych samouczków, które pokazują, jak to zrobić. Czy ktoś może mi przy tym pomóc? Chcę tylko, aby siatka 3D była wyświetlana w Internecie, bez animacji. Dzięki!Eksport miksera do Three.js
Odpowiedz
Najprostszym sposobem znalazłem po wielu poszukiwań i prób i błędów był Three.ColladaLoader
. Umieść pliki .dae
w folderze o nazwie models
w swoim katalogu /root
. Zauważyłem, że eksporter Blender JSON jest mniej niezawodny. Wywołać funkcję PinaCollada od wewnątrz funkcji init()
, somthing tak:
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 za kalambpię PiñaCollada. –
Musisz zwrócić zmienną localObject na wywołanie zwrotne i usunąć nazwę colladaReady z funkcji. –
potrzebujesz threejs blendera eksportera: read this
I nie próbowałem ColladaLoader obszernie, ale zgodziłbym się, że najlepszym rozwiązaniem będzie eksporter ThreeJS Blender Exporter i jego json, choćby w tym, że jest to "oficjalny" format ThreeJS i powinien, przynajmniej w czasie, być najbardziej obsługiwanym i stabilnym systemem z Blendera. Po prostu spekuluję, więc mogę się mylić ... – 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);
}
});
to podstawowa ładowarka json dla Three.js; trzeba także spojrzeć na:
Jak skonfigurować płótno, scena, światła i kamery (jeśli jeszcze go nie masz i nie używasz te blender)
morphTargets (jeśli animacji)
materiały (jeśli chcesz podkręcić)
wybrana odpowiedź nie zwraca obietnicę lub oddzwanianie, więc nie wiem, kiedy można ustawić rzeczy. Dodałem małą klasę, która będzie i pokazała, jak możesz z niej korzystać. Zawiera program ładujący 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');
};
Potem go używać m.in. ładowarka Collada:
<script src="js/loaders/ColladaLoader2.js"></script>
<script src="js/blender/colladaBubbleWrap.js"></script>
aw głównych js
var colladaLoader = new ColladaLoaderBubbleWrapper();
var colladaLoaded = colladaLoader.loadCollada('colladas/brick/brick.dae');
colladaLoaded.then(function(collada) {
scene.add(collada.scene);
});
- 1. THREE.JS Eksportowanie modeli JSON z miksera (w tym tekstur)
- 2. Eksport do .xlsx
- 3. Eksport MySQL do MongoDB
- 4. Konwersja FBX do Three.js
- 5. Eksport strony php do pdf
- 6. Eksport z PHP do Excela
- 7. Blender 2.6.1 eksport do ogre
- 8. eksport w trybie org. Eksport html
- 9. Three.js THREE.Projector został przeniesiony do
- 10. Three.js przeniesiony do natywnego kodu?
- 11. Three.js mocowanie obiektu do kości
- 12. jQuery DataTables: eksport pojedynczych kolumn do Excela
- 13. eksport do formatu epub w php
- 14. eksport do folderu publicznego za pomocą axlsx
- 15. Eksport JasperReports do xlsx, nie xls
- 16. Emacs Org-mode - Eksport do innego katalogu?
- 17. Eksport agregatów mongoexport do pliku CSV
- 18. batch eksport plików psd do png
- 19. MATLAB działki eksport do formatu wektorowego
- 20. Opcja Redis-cli --csv (eksport do csv)
- 21. Eksport ze świni do pliku CSV
- 22. Eksport do Excela JSF i PrimeFaces
- 23. Eksport do XML z witryny dynamicznych danych
- 24. Eksport do programu Excel w Asp.net MVC
- 25. JavaScript - eksport danych tabeli HTML do Excela
- 26. Eksport danych z InfluxDB
- 27. Dynamiczne dodawanie wierzchołków do linii w Three.js
- 28. Zastosuj orientację 2D do cząstek - three.js
- 29. Three.js Jak używać kwaternionu do obracania kamery
- 30. Dodawanie geometrii do siatki three.js po renderowaniu
Oto prosty Three.js z samouczka blendera –
pakotzintote
Sprawdź ten wpis na blogu: http://www.kadrmasconcepts.com/blog/2011/06/06/three-js-blender-2-5-ftw/ –