Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用tQuery[Three.js]加载JSON动画模型_Javascript_Three.js_Webgl - Fatal编程技术网

Javascript 使用tQuery[Three.js]加载JSON动画模型

Javascript 使用tQuery[Three.js]加载JSON动画模型,javascript,three.js,webgl,Javascript,Three.js,Webgl,我正在学习加载JSON格式并使用tQuery对其进行操作。我确实成功加载了动画模型,但它没有加载纹理,因为它加载了屏幕中的沥青黑色模型动画。该模型非常好,因为它是Three.js中使用的示例模型,名为stork.js 这是我的密码 <script> var world=tQuery.createWorld().boilerplate().start(); world.removeCameraControls(); // Animation Variables var

我正在学习加载JSON格式并使用tQuery对其进行操作。我确实成功加载了动画模型,但它没有加载纹理,因为它加载了屏幕中的沥青黑色模型动画。该模型非常好,因为它是Three.js中使用的示例模型,名为stork.js

这是我的密码

<script>
  var world=tQuery.createWorld().boilerplate().start();
  world.removeCameraControls();
  // Animation Variables
  var animOffset = 0, // starting frame of animation
  duration = 1000, // milliseconds to complete animation
  keyframes = 12, // total number of animation frames = SEE THE FILE OF MODEL!
  interpolation = duration / keyframes, // milliseconds per frame
  lastKeyframe = 0, // previous keyframe
  currentKeyframe = 0,
  bird,bird_material;
  var jsonLoader = new THREE.JSONLoader();
  jsonLoader.load("models/stork.js",
    function(geometry, materials){
    if(geometry.morphColors && geometry.morphColors.length) {
      var colorMap = geometry.morphColors[0];
      for (var i = 0; i < colorMap.colors.length; i ++) {
        geometry.faces[i].color = colorMap.colors[i];
        geometry.faces[i].color.offsetHSL( 0, 0.3, 0 );
      }
    }
    geometry.computeMorphNormals();
    addModelToScene(geometry, materials);
  });
  function addModelToScene(geometry, materials){
    for (var i = 0; i < materials.length; i++) {
      materials[i].morphTargets = true;
    }
    bird_material = new THREE.MeshPhongMaterial({
      color: 0xffffff, morphTargets: true, morphNormals: true,
      vertexColors: THREE.FaceColors, shading: THREE.SmoothShading 
    });
    bird = new THREE.Mesh( geometry,bird_material );
    bird.scale.set(0.02,0.02,0.02);
    bird.position.set(0,0,0);
    bird.rotation.set(0,3.9,0);
    bird.castShadow  = true;
    var object3DNew = new tQuery.Object3D();
    object3DNew.add(bird).addTo(world);
  }
  world.hook(function(){
    if(bird){
      var time = new Date().getTime() % duration;
      var keyframe = Math.floor(time / interpolation) + animOffset;
      if (keyframe != currentKeyframe){
        bird.morphTargetInfluences[lastKeyframe] = 0;
        bird.morphTargetInfluences[currentKeyframe] = 1;
        bird.morphTargetInfluences[keyframe] = 0;
        lastKeyframe = currentKeyframe;
        currentKeyframe = keyframe;
      }
      bird.morphTargetInfluences[keyframe] = (time % interpolation) / interpolation;
      bird.morphTargetInfluences[lastKeyframe] = 1 - bird.morphTargetInfluences[keyframe];
    }
  });
</script>

var world=tQuery.createWorld().boilerplate().start();
world.RemoveCameraControl();
//动画变量
var animfoffset=0,//动画的开始帧
持续时间=1000,//毫秒完成动画
keyframes=12,//动画帧总数=查看模型文件!
插值=持续时间/关键帧,每帧//毫秒
lastKeyframe=0,//上一个关键帧
currentKeyframe=0,
鸟,鸟的材料;
var jsonLoader=new THREE.jsonLoader();
加载(“models/stork.js”,
功能(几何、材料){
if(geometry.morphColors&&geometry.morphColors.length){
var colorMap=geometry.morphColors[0];
对于(var i=0;i
这是我得到的结果:


我真是太蠢了,谢谢杰罗姆·艾蒂安的回答。答案是,将灯光添加到场景中