간단한 상자와 두 개의 변형 변형 키 프레임이 포함 된 간단한 장면을 블렌더에서 만들었습니다.JSONLoader로 여러 모프 타겟으로 애니메이션을 처리 할 수 없습니다.
내 보낸 .js 파일에는 많은 모프 타겟이 포함되어 있습니다 (각 애니메이션 프레임마다 하나씩 있긴하나요?).하지만 정적 인 상자에는 애니메이션이 표시되지 않습니다.
여기에 나는이 작업을 얻기 위해 노력하고있어 방법 : 또한 오류가 콘솔에보고되지 않았다
http://touhou.ru/upload/7b7513a903963b0804b0be763b8cc67c.js
:
이<script src="three.js" type="text/javascript"></script>
<script type="text/javascript">
var size_width = window.innerWidth;
var size_height = window.innerHeight;
var player;
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, size_width/size_height, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
var animation;
var animOffset = 1;
var duration = 1000;
var keyframes = 101;
var interpolation = duration/keyframes;
var lastKeyframe = 0;
var currentKeyframe = 0;
renderer.setSize(size_width, size_height);
document.body.appendChild(renderer.domElement);
camera.position.x = 10;
camera.position.y = -20;
camera.position.z = 10;
camera.rotation.x = 1.4;
var player_loader = new THREE.JSONLoader();
player_loader.load("boxy.js", function(geo) {
player = new THREE.Mesh(geo);
scene.add(player);
});
function animate() {
requestAnimationFrame(animate);
render();
}
function render() {
if (player) {
var time = Date.now() % duration;
var keyframe = Math.floor(time/interpolation);
if (keyframe != currentKeyframe) {
player.morphTargetInfluences[ lastKeyframe ] = 0;
player.morphTargetInfluences[ currentKeyframe ] = 1;
player.morphTargetInfluences[ keyframe ] = 0;
lastKeyframe = currentKeyframe;
currentKeyframe = keyframe;
}
player.morphTargetInfluences[ keyframe ] = (time % interpolation)/interpolation;
player.morphTargetInfluences[ lastKeyframe ] = 1 - player.morphTargetInfluences[ keyframe ];
}
renderer.render(scene, camera);
}
animate();
</script>
여기 내 수출입니다.
aww 맨, 정말 고마워요! 재료가없는 상자는 와이어 프레임처럼 보였습니다. 나는 그걸로 괜찮 았지만, 재료를 할당하는 것이 그 문제를 해결할 것이라고 생각하지 못했습니다! –