TROIS.Object3D.ajouter: objet n'est pas une instance de TROIS.Object3D

donc, je reçois cette erreur et je ne peux pas trouver la source de celui-ci. Je crois qu'il a à voir avec moi, l'importation et la création de mes objets 3d dans ma scène, mais je ne suis pas sûr de ce que je fais mal.

voici le code:
J'ai appeler cette fonction avant que j'appelle init

function loadObjects()
{
loader = new THREE.JSONLoader();
var floorDiskmaterial = new THREE.MeshPhongMaterial({
map: THREE.ImageUtils.loadTexture('img/floor_test.jpg'),
transparent: true,
color: 0xeaeaea,
ambient: 0xeaeaea,
overdraw: 0.5,
//specular: 0x6a3e6d,
shading: THREE.FlatShading,
fog: false,
//shininess: 50,
});
loader.load( "models/floorScene.js", function( geometry ) {
FloorDiskFire = new THREE.Mesh( geometry, floorDiskmaterial);
FloorDiskFire.position.set(0,0.2,0);
FloorDiskFire.castShadow = true;
FloorDiskFire.receiveShadow = true;
FloorDiskFire.scale.set(1.5,1.5,1.5);
//FloorDiskFire.rotation.y = -0.78;
} );
//-----Pillar Loader------//
var pillarMaterial = new THREE.MeshPhongMaterial({
//map: THREE.ImageUtils.loadTexture('img/pillarMap.png'),
//transparent: true,
color: 0xeaeaea,
ambient: 0xeaeaea,
overdraw: 0.5,
//specular: 0x6a3e6d,
shading: THREE.FlatShading,
fog: false,
//shininess: 50,
});
loader.load( "models/pillar.js", function( pillar ) {
firePillar = new THREE.Mesh(pillar, pillarMaterial);
firePillar.position.set(135,0,135);
firePillar.castShadow = true;
firePillar.receiveShadow = true;
firePillar.scale.set(1.7,1.7,1.7);
} );
loader.load( "models/pillar.js", function( pillar ) {
earthPillar = new THREE.Mesh(pillar, pillarMaterial);
earthPillar.position.set(135,0,-135);
earthPillar.castShadow = true;
earthPillar.receiveShadow = true;
earthPillar.scale.set(1.7,1.7,1.7);
} );
loader.load( "models/pillar.js", function( pillar ) {
airPillar = new THREE.Mesh(pillar, pillarMaterial);
airPillar.position.set(-135,0,135);
airPillar.castShadow = true;
airPillar.receiveShadow = true;
airPillar.scale.set(1.7,1.7,1.7);
} );
loader.load( "models/pillar.js", function( pillar ) {
waterPillar = new THREE.Mesh(pillar, pillarMaterial);
waterPillar.position.set(-135,0,-135);
waterPillar.castShadow = true;
waterPillar.receiveShadow = true;
waterPillar.scale.set(1.7,1.7,1.7);
} );
}

Puis dans l'init je ajouter les objets de la scène

loader.onLoadComplete=function(){
scene.add(FloorDiskFire);
scene.add(firePillar);
scene.add(earthPillar);
scene.add(waterPillar);
scene.add(airPillar);
};
  • est loader une variable globale ?
  • Les Erreurs im obtenir: imgur.com/NWlmkcM
  • vous avez encore de répondre à ma question si je peux aider.
  • oui, il est
  • cochez cette réponse s'il vous plaît : stackoverflow.com/questions/28262484/...
  • hé, je suis probablement juste de ne pas voir la solution, mais Dans le lien ils disent d'utiliser la scène.ajouter() et je suis en utilisant cela. Ne dois-je pas être en ajoutant les éléments de la scène à l'extérieur de la fonction?
  • non, c'est sur vous n'êtes pas le chargement d'un objet json , si vous générez le modèle de blender , essayez en utilisant les anciennes versions plutôt que r71
  • Je suis l'aide de Maya, mais je vais essayer une version plus ancienne de toute façon
  • essayez r69 il suffit de copier le three.js fichier et remplacer votre actuel.
  • Je viens de passé à r69 et j'ai toujours l'erreur. Je peux héberger mon code pour le rendre plus facile?
  • avez-vous l'esprit de l'envoi de l'ensemble des fichiers de projet afin que je puisse vous aider ? si vous êtes d'accord, je vais vous donner mon adresse e-mail , et de travailler sur la résolution de votre problème.
  • vous pouvez le vérifier ici: github.com/mat148/shoeVR. Merci beaucoup

InformationsquelleAutor rikuto148 | 2015-05-10