三角端。

Δ-sphere管理人三角区也による絵日記/ゲーム開発日記。コメントは右側のweb拍手からどぞー。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ゲームを作るためのツール

今年は残暑という残暑がなくてすごしやすいですね。

・・・、正直昼間はほとんど冷房の効いた場所にいるので寝るときに暑くなければいいんですが。

あ、そうそうスマブラ買いました。
Wii版に比べて楽しい感じがします。何が違うのかなあ・・・?操作性?
でも携帯機、特に3DSでアクションをやるもんじゃないね




ゲームを作るためにはゲームを作るためのツールが必要ですね。

マップを作るときにCSVとかに書いていってもいいんですが、それだと非常に分かりづらい。
よくある感じのWindowsFormApplicationまでいくと大げさな気がしなくもないです。

そんなこんなでゲーム本体にゲームを作る機能を実装しています。
ゲームとして動くエンジンを使って描画とかなんだのするので、編集しているときと実際に動くときでの差異が小さいというメリットがあります。
あとトライアンドエラーをしやすいのでわりと作りやすいです。

問題はゲームのコードが冗長になることと、編集側のメモリ管理くらいですかねー。
ゲームデータなんかは必要最小限のデータのみにしたほうが読み込み時間とか短くなっていいことだらけなんですが、
編集時に切り詰められたデータだと新規データを追加したいというときにちょっと面倒なのです。
編集用素材を読み込みメモリとは別の位置に配置すると編集時と実行時の差が大きくなってしまいます。

なのでとりあえず今回は「冗長な編集データ」というものを初期状態として持っておいて、
そのデータを保存するときに最適化をして不要な部分を切り詰めるという方法をとることにしました。

データベースをはじめから100個もっておくとかそんな感じ。

screen_256.jpg

ざっくりとした編集動作を実装したので次は保存と最適化かなー。
スポンサーサイト

カメラベクトル

もう9月も半分が過ぎそうです。

最近は自分の専門では無い部分をすることになって発狂しそうになりながらすごしています。



ふと思ったんですけど、ゲームを作ったりしていてカメラの操作ってみなさんどうやっているんでしょう。
カメラって基本的にはカメラ位置(position)、上方向ベクトル(head)、視点(lookat)を設定します。
scri_369.jpg
でもこれって意外と使いにくいんですよね・・・

上ベクトルは固定だとしても、カメラを動かすためにばらばらの2変数を操作しないといけない。
キャラクターを追いかけるにしても視点も位置も動かさないといけない。
それがカメラだけ動いて視点の変わらないレールカメラなら使いやすいのかもしれませんが、
ゲームでそんなカメラを使うことは非常に稀だと思います。

実際には内部でlookatとpositionから視線ベクトルを出して、
視線ベクトル、上ベクトル、横ベクトル(視軸と上の外積)の3ベクトルとカメラ位置情報positionで表現されます。

自分は次の変数でカメラを管理することが多いです。
・視点位置(pos)
・回転角(rot)
・カメラ距離(length)

基準ベクトル(0,0,length)を作ってrotの回転をかけます。
これで視線ベクトルを算出します。
視点はposで、視線ベクトルをposだけ移動させたものがカメラ位置になります。
ついでに上ベクトルも回転させてもいいと思います。
scri_369b.jpg

回転角はクオータニオンでもいいんですが、
そんな複雑なことはしないなら、仰角(X軸)、平面上の回転(Y軸)の2回転で表現してもわかりやすいと思います。

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。