Animation 三个JS动画重写或修复。它赢了';即使包含MorphAnimMesh.js,也不能在新版本中播放

Animation 三个JS动画重写或修复。它赢了';即使包含MorphAnimMesh.js,也不能在新版本中播放,animation,three.js,mesh,Animation,Three.js,Mesh,这里是代码,它是“webgl\u terrain\u dynamic”示例,重写后包含了鸟类 这是一个新的例子,没有鸟: 这是一个使用birds的旧示例,也是three.js的旧版本: 这是我写的代码。这一切都是可行的,但鸟类不会移动,而且它们在纹理上看起来也有点像素化(尤其是鹦鹉) 函数morphColorsToFaceColors(几何体){ if(geometry.morphColors&&geometry.morphColors.length){ var colorMap=geomet

这里是代码,它是“webgl\u terrain\u dynamic”示例,重写后包含了鸟类

这是一个新的例子,没有鸟:

这是一个使用birds的旧示例,也是three.js的旧版本:

这是我写的代码。这一切都是可行的,但鸟类不会移动,而且它们在纹理上看起来也有点像素化(尤其是鹦鹉)

函数morphColorsToFaceColors(几何体){
if(geometry.morphColors&&geometry.morphColors.length){
var colorMap=geometry.morphColors[0];
对于(var i=0;i
。。。在函数render()中,我还添加了以下内容:

for ( var i = 0; i < morphs.length; i ++ ) {

    morph = morphs[ i ];

    morph.updateAnimation( 1000 * delta );

    morph.position.x += morph.speed * delta;

    if ( morph.position.x  > 2000 )  {

        morph.position.x = -1500 - Math.random() * 500;
    }
for(变量i=0;i2000){
morph.position.x=-1500-Math.random()*500;
}
我发现这篇文章对我没什么帮助:

我们需要这些代码来输出虚拟现实电影,以帮助寄养家庭的孩子了解情感(解决方案更复杂,但我们从经验中知道,这些鸟真的很好,它们会喜欢它们)

我不是Three.js方面的专家,我会尽我所能。谢谢你们的帮助和尊敬的回答。:)你们真的帮助了我,到目前为止,我搜索了很多代码。:)

:)我就是这样解决的:

在MorphAnimMesh.js中 我这样定义了可变剪辑: var clip=this.geometry.animations[0]

而不是 var clip=THREE.AnimationClip.findByName(这个,标签)

然后调用mesh.playAnimation(0.0003);在我添加变形的函数中

我希望它能帮助别人

function morphColorsToFaceColors( geometry ) {

    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 ];
        }
    }
}

var loader = new THREE.JSONLoader();

var startX = -3000;

loader.load( "models/animated/parrot.js", function( geometry ) {

    morphColorsToFaceColors( geometry );
    addMorph( geometry, 250, 500, startX -500, 500, 700 );
    addMorph( geometry, 250, 500, startX - Math.random() * 500, 500, -200 );
    addMorph( geometry, 250, 500, startX - Math.random() * 500, 500, 200 );
    addMorph( geometry, 250, 500, startX - Math.random() * 500, 500, 1000 );

} );

loader.load( "models/animated/flamingo.js", function( geometry ) {

    morphColorsToFaceColors( geometry );
    addMorph( geometry, 500, 1000, startX - Math.random() * 500, 350, 40 );

} );

loader.load( "models/animated/stork.js", function( geometry ) {

    morphColorsToFaceColors( geometry );
    addMorph( geometry, 350, 1000, startX - Math.random() * 500, 350, 340 );

} );

// PRE-INIT

// renderer.initWebGLObjects( scene );
for ( var i = 0; i < morphs.length; i ++ ) {

    morph = morphs[ i ];

    morph.updateAnimation( 1000 * delta );

    morph.position.x += morph.speed * delta;

    if ( morph.position.x  > 2000 )  {

        morph.position.x = -1500 - Math.random() * 500;
    }