
3D野郎のみんな!お待たせ!
WebGLがノータイムで使えるenchant.jsの拡張プラグイン、gl.enchant.jsのβ版がついに完成したぞ!

enchant.jsによる2D描画との組み合わせも可能で、描画本体はWebGL経由で超高速。
立方体や球などのプリミティブな画像はもちろん、Collada(.dae)形式のファイル読み込みにも対応している。

ひとまずChrome、Safari、Firefoxで動作確認をしている。
IEWebGLは残念ながらWebGLとは関係ないIEの謎の制約が原因で動作しない。
3Dプログラミングといえば、敷居が高いことであまりにも有名だが、enchant.jsらしく、超絶カンタンなコードで3Dをグリグリできるようになっているぞ!
例えば球を出して回転させるプログラムは↓のような感じだ。

enchant();
var game;
window.onload = function(){
game = new Game(320, 320);
game.fps = 60;
game.onload = function(){
var scene = new Scene3D(); //3Dシーンを作る
scene.setDirectionalLight(new DirectionalLight()); //ライトを設置する
var camera = new Camera3D(); //カメラを設置する
scene.setCamera(camera);
var ball = new Sphere(); //球を作る
ball.texture = new Texture("../../images/enchant-sphere.png"); //テクスチャを読み込む
ball.z =-10;
ball.rotX = 0;
ball.addEventListener('enterframe', function(e){
this.rotX += 0.01;
this.rotation = [ //回転行列を設定して回転する
Math.cos(this.rotX), 0, -Math.sin(this.rotX), 0,
0, 1, 0, 0,
Math.sin(this.rotX), 0, Math.cos(this.rotX), 0,
0, 0, 0, 1
];
});
scene.addChild(ball); //3Dシーンにボールを追加
};
game.start();
};
実際に↓で試すことが出来る。
β版はとりあえず9leapにアップロードしたので、3D野郎たちは全力でダウンロードして遊び倒そう!
まだドキュメント化できてない機能やこれから追加したい機能もやまほどあるけど、まずは遊んでみて!



Post a Comment