2016-03-23 4 views
0

Je travaille actuellement sur un projet, je peux voir que tout se charge comme il se doit et j'ai continuellement lu la documentation de Three.js pour voir ce qui ne va pas mais rien J'ai essayé a travaillé.ColladaLoader Three.js ne restitue rien sur la toile

De la vérification de la console, je peux voir que le fichier Collada s'est bien chargé, et la progression montre "100% Loaded".

Je peux voir que la toile elle-même a chargé et la couleur de la toile aussi.

Je peux aussi voir l'animation de toile travaille d'ajouter dans un console.log()

S'il vous plaît voir le code ci-dessous, et nous espérons que vous les gars peuvent faire la lumière sur ma situation sombre.

jQuery(window).load(function($){ 
var w = jQuery('.topSection .design').width(); 
var h = jQuery('.topSection .design').height(); 
var scene = new THREE.Scene(); 
var camera = new THREE.PerspectiveCamera(45, w/h, 1, 1000); 
var renderer = new THREE.WebGLRenderer(); 
var loader = new THREE.ColladaLoader(); 
var box; 

function init() { 
    loader.load('definition3D.dae', function (result) { 
      scene.add(result.scene); 
      camera.lookAt(scene.position); 
     }, function (xhr) { 
      console.log(Math.ceil(xhr.loaded/xhr.total * 100) + '% loaded'); 
     } 
    ); 

    renderer.setClearColor(0xdddddd); 
    renderer.setSize(w, h); 

    jQuery('.topSection .design').append(renderer.domElement); 
    console.log(loader); 
} 

var animate = function() { 
    requestAnimationFrame(animate); 
    renderer.render(scene, camera); 
}; 
init(); 
animate(); 

});

Merci d'avance

+0

Essayez 'camera.position.z = 100;' – WestLangley

Répondre

1

Si vous ne spécifiez pas la position de la caméra et votre modèle ont un centre de 0,0,0 vous avez les deux éléments dans la même position et si le matériel Collada ne vous vous double face peut ne rien voir.

d'abord essayer de déplacer la caméra loin du modèle seconde, vous pouvez utiliser l'assistant BoundingBoxHelper pour voir la position réelle du maillage (ou l'échelle).

var bbox = new THREE.BoundingBoxHelper(result.scene, 0xff0000); 
    bbox.update(); 
scene.add(bbox); 

Vous pouvez ainsi voir si votre modèle a un mauvais centre ou une très petite taille.

+0

yup il semble que votre modèle soit chargé mais l'appareil photo ne le voit pas. essayez d'ouvrir le fichier * .dae dans le blender, puis placez-le dans un endroit où offset vaut l'index z négatif, puis chargez le fichier. Alternativement, vous pouvez également vérifier le colladaLoader2.js dans la structure de troisjs qu'ils utilisent la géométrie du tampon, donc c'est bon que le chargeur précédent, mais il est juste question de fait avec chargeur rien avec votre problème. –

+0

Je l'ai fait, mais je viens d'obtenir une boîte noire http://postimg.org/image/cojj2c19d/, mais le rendu est censé regarder ce http://postimg.org/image/6iuwae3mv/ –

+0

aussi obtenir l'erreur de console suivante [.CommandBufferContext] AVERTISSEMENT RENDER: nombre de rendu ou primcount est 0. –