2012.10.15 | 

おはようございます。
一ヶ月前THREE.JSを利用してFPSゲームを作ってみました。
前「THREE.JS を利用してFPSゲームを作ってみよう1」のソースをベースにして作ってみました。
いろんなスクリプトが追加されましたので全体的の流れを説明しつつファイルをアップロードします。
ご参考になるといいと思います。

「ゲームのアップデートは有ります。もっといい企画を立ってまたブログします。」

:: GAME INFO ::
TITLE : SHIFTBIRD
PROGRAM SUPPORT : kaminary
CHARACTER DESIGN : Mucho

:: HOW TO GAME ::
90秒以内にアイテムを使って鳥を撃って落とすゲームです。

:: 操作 ::
ITEM
ITEM1 = KEY [1] 連発銃
ITEM2 = KEY [2] ショットガン
ITEM3 = KEY [3] 砂時計

MOVE
上 = KEY [W]
下 = KEY [S]
左 = KEY [A]
右 = KEY [D]

ATTACK
SHOT = MOUSE [LEFT BUTTON]



//全体的な流れです。

init() 
     THREE.JS基本設定 
     Camera setting
     Render setting

     //ターゲット表示
     CrossHair setting 

contentLoad()
   //回りの風景
     skybox img load
   bullet modeling json&teture load
      
setup()
     controller setup
     skybox setup
     //キャラクター生成
     chr setup [BoxMan class (MD2CharacterComplex.js) ]
     chr camera setup

addEvent()
     mouse Event
     keyboard Event

gamestart()
     game time setup
     game option setup
     game item setup

     //鳥作り ShiftBird.jsからclass import
     bird make [shifrBird class (ShiftBird.js) ]


animation()
     gameStatus check
     camera position check
     controller update

     //character 移動とアニメーションアップデート
     chr update

   //たまと鳥のヒットテスト 
     bullets & birds hit check



source : ShiftBird.zip

SHIFTBIRD

2012.08.09 | 

ども。kaminalyです。

先日Unibaさんと合同でWebGL(Three.js)/GLSLな勉強会をしました。
会社以外で前にでて話すってのは、なかなか機会がないので良い刺激になった。
あと、勉強会に参加してくれた方々の反応が良かったので、
ほっこりした感じで終わる事が出来た。
バンドマンだった時の寒いMCを思い出す。
もし、みんなが無反応だったら、やけ酒だったろうね。酒飲めないけど。

と、話がそれましたが、
その勉強会の時、Unibaの今野さん(@nulltask)が
Three.jsのDomRendererというニッチなネタでせめていて、
その時ふと、Three.jsを使ってサイトをぶっ壊すネタを思いつきました。
くだらないです。ええ、くだらないし、役にも立たないです。

↓をブックマークして使うとブックマークレットとして使えます。
explosion

ただ押すと、このサイトが吹っ飛びます。

まだ実装途中ですが、爆発音を付けたいと思ってます。
爆発音鳴るようにしました。

ソースはgithubに置いてあります。てけとーに遊んでみてください。
https://github.com/kaminaly/explosion.js

2011.12.02 | 

こんばんはmuchoです。
FlashPlayer11が出てから、Stage3Dをあれこれいじってます。
そんなこんなでAway3D4.0でjiglibとBulletの速度比較できるような
サンプルを作ってみたのでレポートをば。

[jiglib]


50個


200個



[bullet]


50個


200個



(続きを読む...)

2011.05.23 | 

あら、どうも。
kaminalyです。

OpenGLの場合、デフォルトの座標系は中心を原点としてY軸の正方向は上ですが、
Cinderの場合、何もしないと、setup()とdraw()の間で左上原点でY軸の正方向は下の座標系に変換されています。(Flashと同じ座標系)

CinderでCameraを設定すると座標系はOpenGLのものに引き戻されます。

Cinderのgl::Textureはデフォルトでは何もしていない時のCinderの座標系用に縦が反転した状態になっているっぽいので、

gl::pushMatrices();
gl::setMatricesWindow(getWindowSize());
gl::draw( mTexture );
gl::popMatrices();

とかしてあげると良さそうです。
※setMatricesWindowはprojectionのmatrixも変換するのでgl::pushModelView()ではなくgl::pushMatrices()を使う。

gl::Textureのプロパティや、保持しているFormatあたりで
ここら辺を調節するパラメータがあるかもしれないけど、まだ未調査です。