L'exportation d'un modèle simple avec une texture dans Blender three.js

Remarque: je veux éviter de modifier le modèle dans le code javascript et de faire tous les modèle de conception à l'intérieur de Blender.

Note #2: Alors que cette question est longue, il est en fait un problème de base (le titre dit tout). Ci-dessous est de type "walk-through" pour le problème.

Je suis en train d'exportation Blender modèles de threejs.org que DAE modèle, mais ont des problèmes avec des modèles avec de la texture (j'ai essayé JSON et format OBJ+MTL):

Pour rendre les choses plus simples, voici les étapes que j'ai effectuer (et l'échec), pour ajouter de la texture à une simple "fichier de Démarrage", qui contient un cube, la caméra et la lumière:

  1. Sélectionnez le cube
  2. Dans le Matériaux panneau, assurez-vous que le Matériau par défaut pour le cube est sélectionné.
  3. Dans le Texture panneau, assurez-vous que "Tex" (de la texture par défaut pour le matériel) est sélectionné.
  4. Pour cette texture, ensemble Type à "l'Image ou le Film"
  5. Dans le Image section de panneau, un grass1.jpg (une image 512x512) que la texture.
  6. Dans le Cartographie section, changer la Coordonnées aux UV.
  7. Exporter le modèle que Collada modèle, en cochant la case "Inclure les Textures UV", "Comprendre les Textures de Matériaux", et "Copie" des cases à cocher.

Vous pouvez télécharger mélange, dae, et le fichier de texture mentionné dans ces étapes.

Puis-je utiliser le code suivant pour charger le DAE modèle, mais j'ai cette erreur et le cube n'est pas affiché:

256 [.WebGLRenderingContext]GL ERREUR :GL_INVALID_OPERATION :
glDrawElements: tentative d'accès à la hors de portée des sommets dans l'attribut 2
WebGL: trop d'erreurs, plus d'erreurs seront signalées à la console pour ce contexte.

L'exportation d'un modèle simple avec une texture dans Blender three.js

<script src="js/three.min.js"></script>
<script src="js/OrbitControls.js"></script>
<script src="js/ColladaLoader.js"></script>
<script>
    var scene, camera, renderer;
    init();
    animate();

    function init() {
        scene = new THREE.Scene();
        var WIDTH = window.innerWidth,
            HEIGHT = window.innerHeight;

        renderer = new THREE.WebGLRenderer({antialias:true});
        renderer.setSize(WIDTH, HEIGHT);
        document.body.appendChild(renderer.domElement);

        camera = new THREE.PerspectiveCamera(45, WIDTH /HEIGHT, 0.1, 10000);
        camera.position.set(10,10,10);
        scene.add(camera);

        window.addEventListener('resize', function() {
        var WIDTH = window.innerWidth,
            HEIGHT = window.innerHeight;
            renderer.setSize(WIDTH, HEIGHT);
            camera.aspect = WIDTH /HEIGHT;
            camera.updateProjectionMatrix();
        });  

        var loader = new THREE.ColladaLoader();

        loader.load( 'models/untitled.dae', function(geometry) {
            dae = geometry.scene;
            scene.add(dae);
            var gridXZ = new THREE.GridHelper(100, 10);
            gridXZ.setColors( new THREE.Color(0x8f8f8f), new THREE.Color(0x8f8f8f) );
            gridXZ.position.set(0,0,0);
            scene.add(gridXZ);
        });

        controls = new THREE.OrbitControls(camera, renderer.domElement);
    }

    function animate() {
      requestAnimationFrame(animate);
      renderer.render(scene, camera);
      controls.update();
    }
</script>

Et voici la capture d'écran de Mélangeur après avoir mentionné les 7 étapes:

L'exportation d'un modèle simple avec une texture dans Blender three.js

Mise à jour: l'Exportation en tant que fichier js à l'aide de JSON exportateur pour Blender ne fonctionne pas non plus et a entraîné la même erreur.

Mise à jour 2: Même message d'erreur après l'exportation d'OBJ+MTL et de les charger avec OBJMTLLoader.

r.68 a été publié récemment, vous devriez changer pour que vraiment (pas en disant que c' résoudre vos problèmes, mais pas de point à la traîne face à un possible bug dans le code quelque part).
Absolument! Je suis actuellement sur r67. Va lui donner un essai.
Pouvez-vous fournir un lien vers un exemple vivant?
Assurez-vous: ztco.ir/emulate/index.html
Votre maillage de la géométrie n'a pas d'Uv, mais de votre matériel de maille a une texture.

OriginalL'auteur Isaac | 2014-07-21