Recommended
PDF
PDF
PDF
PPTX
PDF
9leap Game Programming Camp @Tokyo
PPTX
PPT
General Lew Wallace & His Study
PPTX
PPTX
DOC
PDF
Disposição das equipes jc 2013
PPT
PPTX
Volumes of solids of revolution dfs
PPTX
PPTX
Significance of Numbers in life Dr. Farhana Shaheen
PPTX
Three dimensional space dfs
PPT
PPTX
PPTX
PDF
Quantification and specification of data corruption in Computer Forensic's in...
PPTX
PDF
Сравнение SEO с интернет маркетингом
PPTX
PPTX
Derivatives in graphing-dfs
PDF
enchant js workshop on Calpoly
PPTX
PDF
PPTX
PDF
PDF
Flashup 12 Basic Training of Away3D
More Related Content
PDF
PDF
PDF
PPTX
PDF
9leap Game Programming Camp @Tokyo
PPTX
PPT
General Lew Wallace & His Study
PPTX
Viewers also liked
PPTX
DOC
PDF
Disposição das equipes jc 2013
PPT
PPTX
Volumes of solids of revolution dfs
PPTX
PPTX
Significance of Numbers in life Dr. Farhana Shaheen
PPTX
Three dimensional space dfs
PPT
PPTX
PPTX
PDF
Quantification and specification of data corruption in Computer Forensic's in...
PPTX
PDF
Сравнение SEO с интернет маркетингом
PPTX
PPTX
Derivatives in graphing-dfs
PDF
enchant js workshop on Calpoly
PPTX
PDF
PPTX
Similar to Beginning gl.enchant
PDF
PDF
Flashup 12 Basic Training of Away3D
PDF
Flashup13 Basic Training of Flare3D
PDF
PDF
PDF
Unityハッカソン チームドミノ 発表用資料 2012.12
PDF
PDF
PDF
PDF
週末プログラミングで作るカジュアルゲーム~シューティング編~
PDF
PDF
PDF
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
PDF
SFC Design theory 2012 6/6
PDF
PDF
PDF
次の世代のインタラクティブレンダリング5つの挑戦と10の滅ぶべき技術
PDF
PPTX
PDF
openFrameworks Workshop in Kanazawa v001
Recently uploaded
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
Beginning gl.enchant 1. 2. 自己紹介
高橋 諒
@rtsan
株式会社ユビキタスエンターテインメント
秋葉原リサーチセンター
gl.enchant.jsの開発
12年4月23日月曜日
3. 4. 5. 6. 7. Z軸が増えた
X
Y
Y
(x, y, z)
(x, y) X
Z
12年4月23日月曜日
8. 9. 10. 11. 12. gl.enchant.jsとは
•enchant.jsのプラグイン
•WebGLを使ったゲームを作れる
•インターフェースは2Dとほぼ同じ
12年4月23日月曜日
13. 14. 15. 16. 17. 18. シェーディングができる
ambient + diffuse + specular = result
[0.3, 0.3, 0.3, 1.0] [0.5, 0.5, 0.5, 1.0] [0.5, 0.5, 0.5, 1.0]
0.3 0.5 0.5
12年4月23日月曜日
19. 20. 21. 22. 23. 24. Hello, Cube
1 enchant();
2 window.onload = function() {
3 var game = new Game(640, 640);
4 game.onload = function() {
5 var scene = new Scene3D();
6 var box = new Cube();
7 scene.addChild(box);
8 };
9 game.start();
10 };
12年4月23日月曜日
25. 26. 27. 28. 29. 30. 31. プリミティブ
game.onload = function() {
......
var box = new Cube(1);
......
scene.addChild(box);
......
12年4月23日月曜日
32. テクスチャをはる
......
var box = new Cube(1);
box.mesh.texture =
new Texture('enchant.png');
box.mesh.texture.ambient =
[ 0.8, 0.8, 0.8, 1.0 ];
scene.addChild(box);
......
12年4月23日月曜日
33. マテリアル
各パラメータで陰影、反射の具合を設定する
ambient + diffuse + specular = result
[0.3, 0.3, 0.3, 1.0] [0.5, 0.5, 0.5, 1.0] [0.5, 0.5, 0.5, 1.0]
0.3 0.5 0.5
12年4月23日月曜日
34. 35. 36. モデルの読み込み
var game = new Game(640, 640);
game.preload('droid.dae');
game.onload = function() {
......
var droid =
game.assets['droid.dae'].clone();
scene.addChild(droid);
......
12年4月23日月曜日
37. note
•プリロードされたデータはSprite3D
のインスタンスとして格納されている
•clone()かset()で複製して使う
12年4月23日月曜日
38. 39. 表示オブジェクトの移動
•translate(x, y, z);
•x, y, zプロパティの変更
Y
•どちらも平行移動
X
Z
12年4月23日月曜日
40. 平行移動だと
Z
translate(2, 0, 1)
X
12年4月23日月曜日
41. 直感的でない
Z
translate(2, 0, 1)
X
12年4月23日月曜日
42. 表示オブジェクトの移動
•forward(s)
→ オブジェクトのZ軸方向移動
•sidestep(s)
→ オブジェクトのX軸方向移動 Y
•altitude(s)
→ オブジェクトのY軸方向移動 X
Z
12年4月23日月曜日
43. 44. 表示オブジェクトの回転
•rotateRoll(rad)
→ オブジェクトのZ軸回転
•rotatePitch(rad)
→ オブジェクトのX軸回転 Yaw
•rotateYaw(rad)
→ オブジェクトのY軸回転 Pitch
Roll
12年4月23日月曜日
45. 表示オブジェクトの拡大縮小
•scaleX, scaleY, scaleZ
→ 拡大率の指定
Y
•scale(sx, sy, sz)
→ 拡大率をかける
X
Z
12年4月23日月曜日
46. Z軸で縮小すると
droid.scaleZ = 0.0125;
12年4月23日月曜日
47. 視点を操作する
を使います
(Camera3D)
12年4月23日月曜日
48. 49. 50. 51. 52. 53. カメラの移動
•forward(s)
→ カメラのZ軸方向移動
•sidestep(s)
→ カメラのX軸方向移動
Z
•altitude(s)
→ カメラのY軸方向移動
X Y
12年4月23日月曜日
54. カメラの回転
•rotateRoll(rad)
→ カメラの視線ベクトル回転
•rotatePitch(rad)
→ カメラのX軸回転
Z
•rotateYaw(rad)
→ カメラの上ベクトル回転
X Y
12年4月23日月曜日
55. 56. 57. 58. 59. 60. 変わるところ
•Scene3D() → PhyScene3D()
•Sprite3D() → PhySprite3D(rigid)
→ 剛体オブジェクトを渡す
12年4月23日月曜日
61. 剛体
0.5
var rigid = new RigidCube(0.5, 5)
12年4月23日月曜日
62. 変わるところ
•RigidBox(sx, sy, sz, mass)
→ 大きさ、質量を設定する
12年4月23日月曜日
63. Primitive
•Cube(s) → PhyCube(s, mass)
→ 剛体オブジェクトは内部で作られる
12年4月23日月曜日
64. 65. 力を加える
(0, 25, -100)
12年4月23日月曜日
66. 67. シミュレートの再生・停止
•PhyScene3D.play()
→ 物理世界の時間をうごかす
•PhyScene3D.stop()
→ 物理世界の時間をとめる
12年4月23日月曜日
68. 当たり判定
•PhySprite3D.contactTest()
→ 物理オブジェクト同士の厳密な当たり
判定
12年4月23日月曜日
69. 70. 71. とんとんずもう
•飛行機の中で作った(40分くらい)
•ドロイドくん(.dae)を物理化
•クリックすることで力を与える(だけ)
12年4月23日月曜日
72. ドロイドくんの物理化
var rigid =
new RigidCylinder(0.3, 1, 5);
var player = new PhySprite3D(rigid);
player.addChild(
game.assets['droid.dae'].clone())
player.childNodes[0].y = -1;
12年4月23日月曜日
73. 剛体を定義
r
h
var rigid = new PhyCylinder(0.3, 1, 5)
12年4月23日月曜日
74. 合わせる
rigid
var player =
player.addChild(...);
new PhySprite(rigid);
12年4月23日月曜日
75. 76. ざくざくコイン
•コイン落としゲーム
•ハッカソンで作った(3∼5時間)
•ほとんどの処理を物理エンジンに任せる
12年4月23日月曜日
77. 初期化
•コインを空中にランダムに設置
•play()すると勝手にセットされる
12年4月23日月曜日
78. 処理
•押し出しバーを周期的に動かす
→ コインの挙動は物理エンジン任せ
•落ちたコインは当たり判定で回収
12年4月23日月曜日
79. 80. 81. 82. 83. 空
var sky = new Sphere(50);
sky.mesh.reverse();
sky.mesh.texture
= new Texture('sky.png');
sky.mesh.texture.ambient
= [ 1.0, 1.0, 1.0, 1.0 ];
sky.mesh.texture.diffuse
= [ 0.0, 0.0, 0.0, 1.0 ];
sky.mesh.texture.specular
= [ 0.0, 0.0, 0.0, 1.0 ];
scene.addChild(box);
12年4月23日月曜日
84.