Three.js(r79)でオブジェクトを消したり、途中から表示させたりするときに、フェードイン/アウトを使ってみる。ここでは2種類の方法を試す。
球体を作成する。後で透明度を変化させるので、マテリアルの作成でtransparent: trueとしておく。
以下のような球体が作成される。
マテリアルの色(RGB)をsetIntervalを使って変化させていく。
マテリアルの透明度をsetIntervalを使って変化させていく。
オブジェクトの準備
球体を作成する。後で透明度を変化させるので、マテリアルの作成でtransparent: trueとしておく。
// ジオメトリの作成 var geometry = new THREE.SphereGeometry( 2, 32, 16 ); // テクスチャ画像の読み込み var texture = new THREE.TextureLoader().load( '../image/sunflower_er.jpg' ); // マテリアルの作成 var material = new THREE.MeshBasicMaterial( { map: texture, color: 0xffffff, transparent: true, opacity: 1.0 } ); // 球体作成 var mesh = new THREE.Mesh( geometry, material ); // 球体の向きを調整 mesh.rotation.z = -Math.PI/2;
以下のような球体が作成される。
方法1:マテリアルの色を変化させる
マテリアルの色(RGB)をsetIntervalを使って変化させていく。
var delta = -0.01; setInterval( function(){ if( material.color.r <= 0.0 ) { delta = 0.01; } else if( material.color.r >= 1.0 ) { delta = -0.01; } var color = material.color; material.color = new THREE.Color( color.r+delta, color.g+delta, color.b+delta ); }, 100);
方法2:透明度を変化させる
マテリアルの透明度をsetIntervalを使って変化させていく。
var delta = -0.01; setInterval( function(){ if( material.opacity < 0.0 ) { delta = 0.01; } else if( material.opacity > 1.0 ) { delta = -0.01; } material.opacity += delta; }, 100);
0 件のコメント:
コメントを投稿