무한으로 돈을 뽑아주는 기계가 있다면 어떨까요?
당장은 좋을지 몰라도 과도한 돈은 재앙이 된다고도 합니다.
적당한 수준에서 잘 관리할 수 있는게 뭐니뭐니해도 딱 좋지요.
그래도 돈을 실컷 눈으로라도 벌어보고 싶은 이웃님들을 위해(?) 만들어 보았습니다 :)
일명 돈 무한 뽑기 기계 3D 웹애니메이션 !
마우스로 클릭하면 이리 저리 돌려보실수 있습니다 :)
블렌더에서 만든 모델과 애니메이션을 자바스크립트 THREE.JS 라이브러리에서 재생해 보았습니다.
안되시면 여쪽으로 오세요~ 🔈🔉🔊 http://dreamplan7.cafe24.com/canvas7/canvas5.htm
아래는 블렌더 모델링 스샷
티스토리용 자바스크립트 소스는 아래와 같습니다.
삼점이 아이콘 - HTML 블록으로 넣으실 수 있어요.
<script src="https://threejs.org/build/three.min.js"></script>
<script src="http://dreamplan7.cafe24.com/canvas7/js/GLTFLoader.js"></script>
<script src="http://dreamplan7.cafe24.com/canvas7/js/OrbitControls.js"></script>
<!-- 캔버스 -->
<canvas id="MyCanvas" width=640 height=180></canvas>
<script>
const renderer = new THREE.WebGLRenderer( { canvas: MyCanvas } );
const camera = new THREE.PerspectiveCamera(50, 640 / 180, 1, 1000);
const scene = new THREE.Scene();
let Mesh;
let light;
let light_sun;
let mixer;
function init() {
scene.background = new THREE.Color('black');
camera.position.set(1, 2, 2);
camera.lookAt( 0, 0, 0 );
}
function setLight() {
light = new THREE.AmbientLight(0xffffff); // soft white light
scene.add(light);
light_sun = new THREE.DirectionalLight ( 0x808080, 1.0 );
var shadowBlur=10;
light_sun.castShadow=true;
light_sun.shadow.camera.left=-shadowBlur;
light_sun.shadow.camera.right=shadowBlur;
light_sun.shadow.camera.top=shadowBlur;
light_sun.shadow.camera.bottom=-shadowBlur;
scene.add( light_sun );
}
function loadGLTF() {
let modelLoader = new THREE.GLTFLoader();
modelLoader.load('http://dreamplan7.cafe24.com/canvas7/model/pulley.glb', (gltf) => {
Mesh = gltf.scene;
Mesh.scale.set(1,1,1);
scene.add(Mesh);
Mesh.position.x = 0;
Mesh.position.y = 0;
Mesh.position.z = 0;
mixer = new THREE.AnimationMixer(Mesh);
const clips = gltf.animations;
clips.forEach(function(clip) {
const action = mixer.clipAction(clip);
action.play();
});
});
}
const clock = new THREE.Clock();
let controls = new THREE.OrbitControls (camera, renderer.domElement);
controls.target.set( 0, 0, 0 );
function animate() {
requestAnimationFrame(animate);
if(mixer)
mixer.update(clock.getDelta());
controls.update();
renderer.render(scene, camera);
}
init();
setLight();
loadGLTF();
animate();
</script>
필요하신 분께 도움이 되셨을지요 :)
방문해주시는 모든 분들께 늘 감사드립니다.
유익하셨다면 공감 한방, 댓글은 굿잡!
감사합니다~
'자바스크립트와 캔버스' 카테고리의 다른 글
블로그에 스케치팹 3D 장면 넣기 (3) | 2024.07.08 |
---|---|
바빌론js - 3차원 웹! (0) | 2024.07.07 |
철창속 고양이 스크립트 공개! (16) | 2022.04.02 |
강아지는 어딜 보는 걸까요? ( 자바스크립트 캔바스 ) (8) | 2022.03.30 |
빗소리 스크립트를 공개합니다. (14) | 2022.03.29 |