CGhw2p helper
dancing arm
by Millieyan
HTML
<div id="info">Homework3
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/84/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.5/dat.gui.min.js"></script>
CSS
#info {
position: absolute;
top: 0px;
width: 100%;
padding: 10px;
text-align: center;
color: #ffff00
}
body {
overflow: hidden;
}
JavaScript
var camera, scene, renderer;
var clock = new THREE.Clock();
var gcontrols = {
R1z: 0.01, // s for shoulder
R1y: 0.02,
R2z: 0.01,
R2y: 0.03, // e for elbow
};
var period = 2; // 3 seconds
var pose0 = {
LShoulder: 0.9,
LElbow: 1.21,
RShoulder: 0.9,
RElbow: 1.21,
Lfoot: -1.6,
Lfoot2: 0,
Rfoot: -1.6,
Rfoot2: 0
};
var pose1 = {
LShoulder: 0.9,
LElbow: 1.21,
RShoulder: 0.9,
RElbow: 1.21,
Lfoot: -1.6,
Lfoot2: 0,
Rfoot: -1.6,
Rfoot2: 0
};
var pose2 = {
LShoulder: 0.9 - 0.05,
LElbow: 1.21 - 0.05,
RShoulder: 0.9 - 0.05,
RElbow: 1.21 - 0.05,
Lfoot: -2.3,
Lfoot2: 0,
Rfoot: -2.3,
Rfoot2: 0
};
var pose3 = {
LShoulder: 0.23,
LElbow: 0.3,
RShoulder: 0.23,
RElbow: 0.3,
Lfoot: -1.6,
Lfoot2: 0,
Rfoot: -1.6,
Rfoot2: 0
};
var pose4 = {
LShoulder: 0.23 + 0.05,
LElbow: 0.30 + 0.05,
RShoulder: 0.23 + 0.05,
RElbow: 0.30 + 0.05,
Lfoot: -1.6,
Lfoot2: 0,
Rfoot: -1.6,
Rfoot2: 0
};
var pose5 = {
LShoulder: 0.23,
LElbow: 0.3,
RShoulder: 0.23,
RElbow: 0.3,
Lfoot: -1,
Lfoot2: 0,
Rfoot: -1.6,
Rfoot2: 0
};
var pose6 = {
LShoulder: 0.23 + 0.05,
LElbow: 0.30 + 0.05,
RShoulder: 0.23 + 0.05,
RElbow: 0.30 + 0.05,
Lfoot: -1.6,
Lfoot2: 0,
Rfoot: -1.6,
Rfoot2: 0
};
var pose7 = {
LShoulder: 0.23 + 0.05,
LElbow: 0.30 + 0.05,
RShoulder: 0.23 + 0.05,
RElbow: 0.30 + 0.05,
Lfoot: -1.6,
Lfoot2: 0,
Rfoot: -1,
Rfoot2: 0
};
var pose8 = {
LShoulder: 0.23 + 0.05,
LElbow: 0.30 + 0.05,
RShoulder: 0.23 + 0.05,
RElbow: 0.30 + 0.05,
Lfoot: -1.6,
Lfoot2: 0,
Rfoot: -1.6,
Rfoot2: 0
};
// "normal" keys
var Nkeys = [{
s: 0,
pose: pose0
},
{
s: 0.125,
pose: pose1
},
{
s: 0.25,
pose: pose2
}, {
s: 0.4,
pose: pose3
}, {
s: 0.5,
pose: pose4
},
{
s: 0.6,
pose: pose1
}, {
s: 0.7,
pose: pose2
}, {
s: 0.85,
pose: pose3
}, {
s: 1,
pose: pose4
}
];
// "popping" keys:...