2015年3月26日木曜日

FBX SDK環境構築

ちょっとモデル方面を知りたいと思うて、FBXに手を出してみる。

FBXというのはMayaとか作ってるAutodesc社の汎用フォーマットだそうです。
3Dモデルの頂点やポリゴンのみならず、アニメーションやカメラ、ライトの情報も格納できるそうです。
触っておきながら詳しく知りません。

今回は環境構築。VisualStudioは2013。

SDKをインストールする

公式サイトからSDKをダウンロード。インストーラーを起動してインストール。
今回使用したバージョンは2015.1。
インストールされたディレクトリにドキュメントも展開されるのでそれを見ながらこねこねする。

環境を設定する

VisualStudioで適当なプロジェクトを作成。コンソールでも問題ない。
プロパティをいじる。

  • [構成プロパティ][C/C++][追加のインクルードディレクトリ]を設定。
    • <yourFBXSDKpath>\include
  • [構成プロパティ][リンカー][全般][追加のライブラリディレクトリ]を設定
    • <yourFBXSDKpath>\lib\<x64/x82>\<Debug/Release>
    • ビット数とビルド設定に合わせてパスは変更
  • [構成プロパティ][リンカー][入力][追加の依存ファイル]にファイルを追加
    • 追加するlibファイルは実行環境に合わせる

サンプルを実行する

samplesディレクトリの中の一番上にあったAnimationというサンプルを実行する。

  • AnimationディレクトリとCommonディレクトリをコピー
  • プロジェクトに追加する
  • 実行

一応これで問題なく動いた。
他のサンプルは試していないので、のちのち問題が出てくるかもしれないが、ひとまずよし。

2015年3月14日土曜日

Unity アスペクト比を固定する

Unityのウリのひとつと言えば、マルチプラットフォームであること。
そして、マルチプラットフォームということは、機種ごとに解像度が異なるということ!

なので、普通に作っていると機種によって画面が切れたり、逆に変な部分が表示されたりする。

参考サイト
Unityでコインゲー開発:アスペクト比 

アスペクト比を固定しよう!

Unityに限った話ではなく、ゲームはワールド空間上に配置したカメラからの映像をウィンドウに表示しています。その縦と横の比率がアスペクト比です。Unityでは、画面の解像度によってこいつを勝手に算出してくれるみたいです。

そんな処理はどうでもいいから、縦か横で画面内にきちっと収まりなさい! というある意味身もふたもないことを行う。

イメージとしては、windowsのデスクトップの壁紙を設定するときに、縦幅に合わせるか横幅に合わせるかを勝手にやってくれるようにする感じ。壁紙がゲーム画面。

ソースコードは参考サイトのをほぼそのまま使用させていただきました。

なぜか猛烈に眠いから書くのが面倒になったとかじゃない。じゃないんだってば。

2015年3月11日水曜日

Unity SQLiteを使う

かなり久しぶりの更新。
最近Unityを触るようになったのでUnityのネタ。

データ管理のためにSQLiteを使ってみる。
SQLiteUnityKitというものを使います。

無料で使えるプラグイン。Unityはこういうのが揃っているのがとても嬉しい。
なお、これを使わなくてもDLLとか引っ張ってくれば普通に使えるみたい。
詳しく調べてないけどアセットもあり。

そこらへんはお好みや実際に動かして動作時間を検証してとかになるかと。
今回はそこまでやらない。

参考サイト
UnityでSQLite

SQLiteUnityKitを使える環境を作る

https://github.com/Busta117/SQLiteUnityKit/

上記リンクからzipをダウンロード。
READMEにいろいろ書いているけど、英語は雰囲気でなんとかしてきた残念プログラマなので、
今回も雰囲気で乗り切ろうと思います。解凍したファイルを配置。

Assets/Plugins/Android にl ibsqlite3.so を配置。
ほかスクリプトファイルは各自の好きなところに配置でいいと思う。

最後に Assets の中に StreamingAssets というフォルダを作れば完了さ!

これでもう動くみたい。
StreamingAssets の中に sqlite で作ったデータを入れてやろう。