案例:Three 变形目标动画     状态:可编辑再运行    进入竖版
 运行结果 
x
var Track2 = new THREE.KeyframeTrack('.morphTargetInfluences[1]', [20,30, 40], [0, 1,0]);
 
1
<!DOCTYPE html>
2
<html lang="en">
3
4
<head>
5
  <meta charset="UTF-8">
6
  <title>Three 变形目标动画</title>
7
  <style>
8
    body {
9
      margin: 0;
10
      overflow: hidden;
11
      /* 隐藏body窗口区域滚动条 */
12
    }
13
  </style>
14
  <script src="/js/threejs/threer92.js"></script>
15
  <script src="/example/threejs/solarsystem/files/OrbitControls.js"></script>
16
</head>
17
    
18
<body>
19
  <script>
20
    /**
21
     * 创建场景对象Scene
22
     */
23
    var scene = new THREE.Scene();
24
25
/**
26
 * 创建网格模型,并给模型的几何体设置多个变形目标
27
 */
28
// 创建一个几何体具有8个顶点
29
var geometry = new THREE.BoxGeometry(50, 50, 50); //立方体几何对象
30
console.log(geometry.vertices);
31
// 为geometry提供变形目标的数据
32
var box1 = new THREE.BoxGeometry(100, 5, 100); //为变形目标1提供数据
33
var box2 = new THREE.BoxGeometry(5, 200, 5); //为变形目标2提供数据
34
// 设置变形目标的数据
35
geometry.morphTargets[0] = {name: 'target1',vertices: box1.vertices};
36
geometry.morphTargets[1] = {name: 'target2',vertices: box2.vertices};
37
var material = new THREE.MeshLambertMaterial({
38
  morphTargets: true, //允许变形
39
  color: 0x0000ff
40
}); //材质对象
41
var mesh = new THREE.Mesh(geometry, material); //网格模型对象
42
scene.add(mesh); //网格模型添加到场景中
43
      
44
//启用变形目标并设置变形目标影响权重,范围一般0~1
45
// 设置第一组顶点对几何体形状影响的变形系数
46
mesh.morphTargetInfluences[0] = 0.5;
47
// 设置第二组顶点对几何体形状影响的变形系数
48
mesh.morphTargetInfluences[1] = 1;