CSSがこんなに進化してるとは!18才の少年がつくった3Dアニメーションのライブラリがすごすぎる -voxel.css
Post on:2016年1月29日
CSSアニメーションの進化もすごいですが、3DのCSSアニメーションも驚きの進化です!
高校を卒業したばかりの18才の少年がつくった3Dアニメーションのライブラリを紹介します。
voxel.cssのデモ
上部のアニメーションgifは、voxel.cssのトップページで楽しめます。
ファイルサイズの関係で尺を半分くらいにしているので、ぜひ全編を下記ページでお楽しみください。
トップページの下の方では、アニメーションがどれくらい快適に動作するかが分かります。
voxel.css: デモ
また、デモページでは3Dのオブジェクトがさまざまな動きをします。
- ドラッグ: 軌道
- Shift+ドラッグ: パン
- スクロール: ズーム
- クリック: オブジェクトの追加
- 右クリック: オブジェクトの削除
voxel.cssの使い方
Step 1: 外部ファイル
当スクリプトとスタイルシートを外部ファイルとして記述します。
1 2 3 4 5 |
<head> ... <script src="js/voxelcss.js"></script> <link rel='stylesheet' href="css/voxel.css"></link> </head> |
Step 2: HTML
HTMLは特に必要ありません。
領域の確保をする必要もなく、JavaScriptに記述します。
Step 3: JavaScript
オブジェクトやアニメーションをJavaScriptで設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<script> var scene, world, editor; init(); function init() { scene = new voxelcss.Scene(); scene.rotate(-Math.PI / 8, Math.PI / 4, 0); scene.attach(document.body); var lightSource = new voxelcss.LightSource(300, 300, 300, 750, 0.3, 1); scene.addLightSource(lightSource); world = new voxelcss.World(scene); editor = new voxelcss.Editor(world); editor.enableAutoSave(); editor.load(); if(world.getVoxels().length === 0) editor.add(new voxelcss.Voxel(0, 0, 0, 100, { mesh: voxelcss.Meshes.grass })); } </script> |
重要なクラスは、4つ。
- Voxel
- オブジェクトの設定です。
- Scene
- ただのカメラで、回転・パン・ズームして、voxelsを含むことができます。
- World
- voxelsの状態を保存します。
- Editor
- voxelsのあらゆる変化を設定します。
sponsors