Unity
マイクロソフトのARデバイス。Hololensがマイクロソフトストアで売っています。 ちょっと高いですが、買ってアプリを作るなら今。
MMDforUnityはなんだか調子が悪い上、デバッグも困難なので使用を断念しました。 というわけで、代わりに「MMD4mecanim」を使用します。 これはMMDのファイル(PMD, VMD)をfbx形式(Maya)にするツールです。 fbxはUnityでサポートされているので、fbxにして…
UnityのC#スクリプトからCのプラグインを呼び出すときの、型の合わせかたです。 標準型の値渡し 言語がサポートしている標準の型にも違いがあります。 参考:http://www.crystal-creation.com/software/technical-information/programming/language-comparis…
プラグインの概要 Unityでは動的にリンクするライブラリを作っておけば、スクリプト(C#など)から呼び出せます。 WindowsであればDLLにあたります。大まかな手順です。 VisualStudioなどで普通にDLLを作ります。 その作ったDLLを、x86向けであればプロジェ…
Unityで再生するモデル、モーションをWebから落としてくる方法を調べました。 (Unity Asset Storeでも良いですけど)「MikuMikuDance(MMD)」はフリーウェアのダンス作成ツールです。 ニコニコ界隈では流行っていて、モデルやダンスが配布されていることが多…
Unity Asset Serverはブランチを切ったりできない。SVNなどを使った方が楽。 頑張る場合は以下のページを参照。 http://akisute.com/2012/12/unity-asset-server.html Unityで複数人がEditする場合(シーンをまたいでAssetを共有する場合)は、 Assetの変更…
//2D位置. Vector3 vec = Input.mousePosition; //マウス位置が取れる.左下(0,0), 右上(width, hight). //3D位置. GameObject c; c = GameObject.FindWithTag("MainCamera"); //カメラを取得. vec.z = 5f; //clipされない範囲でカメラからの距離を指定. vec …
Unity上では簡単なアニメーションを付けることができる。キーフレーム形式で、曲線を描くことも可能。 ただ、普通にcube Objectを作ってモーションを適用すると、絶対位置で再生されることになってしまう。 相対的に再生する(任意のpositionでアニメーショ…
1. [Project Settings] - [Physics] から、gravityを指定。3軸で指定できる。 2. スクリプト内で指定。こっちのほうが調整しやすくて良さそう。 Physics.gravity = new Vector3(0f, -2f, 0f);
60fps固定のゲームであれば、毎フレーム1足すと60カウントで1秒になる。 が、フレーム落ちしているとそうもいかない。Time.timeで起動からの時間が取れる。 Time.DeltaTimeでは、前のフレームからの時間を取得できる。
大抵は既になっている。 [Project Settings] - [Quality] - [Vsync Count] = Every VBlank になっていると、画面の垂直同期に合わせて更新が行われ、大抵60fpsになる。フレームカウントの取得は float t = Time.frameCount; //アプリ開始を0とした現在のフレ…
http://warapuri.tumblr.com/post/28972633000/unity-50-tips
Edit - Preferenceで、Script Editorを選択できる。 でもVSではデバッグできないのであまり使えない。Assetで「UnityVS」なるツールが出ていて、これを使うとVSでデバッグできるらしい。ただ個人で99$、法人で249$。高い。
Edit - Preferenceで、ColorのRunの色を変える。これ重要。transformやScriptのメンバに与える数値などは実行時に変更しても停止させると元に戻る。 Unityの良いところなのだが、うっかり忘れていると悲しいことになる。
ゲームのモードごとにシーンを作ってロードする場合などに使用する。 Sceneファイルの名前の部分を引数にして Application.LoadLevel("MainScene"); とすると良い。ただし、同じプロジェクト内にあること、[Build Settings]の上部(Scene In Build)にScene…
物理計算のため、RigidBodyコンポーネントを追加すると、コリジョン(衝突)を取得できる。 取得は基本的に OnCollisionEnter()で取得する。 void OnCollisionEnter(Collision col){ if (col.gameObject.tag == "Player"){ //処理 } } 剛体物理を適用したく…
フランクにインスペクタに載ってるrotation。これをいじるのはなんだか難しい。 positionもそうなのだが、直接x要素などに値を加算できない。Vector3で一気にいじる必要がある。 また、回転は基本的にクォータニオンで制御されているので、Y軸回転だけやろう…
Unityをはじめようと思って「ゲームの作り方 Unityで覚える遊びのアルゴリズム」を読んだのですが・・・この本、Unityでのゲームの作り方を学ぶ本ではなく、ゲームのアルゴリズムや作り方をUnity環境で学ぶ本でした。間違えたーー!Unity4.x、C#なのは長所で…
Unityの特徴的な要素の一つ、それはインスペクタで変数をいじれること。 ユーザーが定義した変数もいじることができる。 いじるには public class Choge : MonoBehaviour { public float m_atai = 1.0f; //←これ など、スクリプト上で、クラスのpublicメンバ…