本「Unity入門 [ 高橋啓治郎 ]」を読んだメモ

本「Unity入門 [ 高橋啓治郎 ]」を読んだメモ投稿しておくお。メモったのは結構前なんだけど。この本は基礎的なことが身について良い！ちょっとUnityのバージョンが古かったりなのがちょい残念だけど、全般的に役立つ内容満載だった。
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><div style="border:1px solid;margin:0px;padding:6px 0px;width:320px;text-align:center;float:left"><a href="http://hb.afl.rakuten.co.jp/hgc/02b75513.56077fcc.04549cd7.9cd6da87/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11352089%2f%3fscid%3daf_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15564999%2f" target="_blank"><img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f5337%2f9784797365337.jpg%3f_ex%3d300x300&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f5337%2f9784797365337.jpg%3f_ex%3d80x80" alt="【送料無料】Unity入門 [ 高橋啓治郎 ]" border="0" style="margin:0px;padding:0px"></a><p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"><a href="http://hb.afl.rakuten.co.jp/hgc/02b75513.56077fcc.04549cd7.9cd6da87/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11352089%2f%3fscid%3daf_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15564999%2f" target="_blank">【送料無料】Unity入門 [ 高橋啓治郎 ]</a><br><span style="">価格：2,916円（税込、送料込）</span><br></p></div></td></tr></table>
・衝突を検出する方法
1. Rigidbody
　OnCollisionEnterが呼ばれる
　　引数のCollisionオブジェクト.gameObject.SendMessage("ApplyDamage");でメッセージ送信
2. トリガー（trigger)
　自動ドアの赤外線センサーのようなもの
　Rigidbodyを跳ね返したりしない、すり抜ける
　Box Colliderのis Triggerのチェックを付けるとトリガーになる
　何かと接したらOnTriggerEnterが呼ばれる
　接した状態から抜けたらOnTriggerExitが呼ばれる
　　引数のCollisionオブジェクト.gameObject.SendMessage("ApplyDamage");でメッセージ送信
　

・見えない壁を作る方法
１．透明にする
　Rendererコンポーネントの歯車アイコンのRemove Componentをクリック
２．特定の物だけ、すり抜けさせる
　レイヤーですり抜けの設定をする
　　Tag Managerを使う。Edit->Project Settings->Tagsを選択
　　　A. User Layer8に名前を設定（例 Bullet, Fence)
　　通り抜けさせたいオブジェクト(例えばSphere等）のLayerを設定
　　　InspectorビューのLayerにAで指定した名前を設定
　　コリジョンマトリックスの設定
　　　Edit->Project Settings->Physicsを選択
　　　　Physics Managerの「Layer Collision Matrix」ですり抜けさせたい判定のチェックを外す

・GUISkin
　ラベルのスタイルを指定できる

・指定した時間、間隔を空ける
yield WaitForSeconds(3.0);をコードの間に入れる

・アニメーションさせる
animation.Play("Walk");
yield WaitForSeconds(4.0);
animation.Play("Crouch");

・アニメーションを滑らかにつなげる
animation.Play("Walk");
yield WaitForSeconds(4.0);
animation.CrossFade("Crouch");

・アニメーションの再生速度を変更する
animation["Walk"].speed = 4.0; //再生速度を4倍にする
animation.Play("Walk");
yield WaitForSeconds(4.0);
animation.CrossFade("Crouch");

・Character Controller
物理挙動を使った操作はダイレクトな操作性を得にくいので、考案された
基礎的な衝突判定を自動的に行いつつ、速度を直接与える形で動きを制御できる
Component->Physics->Character Controller

・音を鳴らす
Component->Audio->Audio Source
　Play On Awakeにチェックを入れるとゲームが始まった瞬間から再生される。BGMなどの場合使う
　3D Sound SettingsのMin Distanceは音の減衰が開始する距離を設定。Max Distanceは音の減衰が終了する距離を設定。
　　カメラとの距離が10程度ある場合、Min Distanceを10にしておけば常に最大に近い音量で聞こえる
3Dサウンドの場合、音源と聴点（Audio Listenr)の位置関係によって決まる。Main CameraにAudio Listenerは設定されるが、これを作事して別のゲームオブジェクトに追加することもできる
サウンドの鳴らす
　audio.Play();
サウンドの鳴らしわけ
　var coinSE : AudioClip;
　function CatchCoin(amount: int) {
　　audio.PlayOneShot(coinSE);
　}
BGM
　BGMにしたいオーディオクリップをHierarchyビューにドラッグ&ドロップしてLoopをオンにする
破棄するオブジェクトからはサウンドを鳴らさない
　オブジェクトが破棄された段階で音も消えてしまうため
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><div style="border:1px solid;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left"><a href="http://hb.afl.rakuten.co.jp/hgc/02b75513.56077fcc.04549cd7.9cd6da87/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11352089%2f%3fscid%3daf_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15564999%2f" target="_blank"><img src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f5337%2f9784797365337.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f5337%2f9784797365337.jpg%3f_ex%3d80x80" alt="【送料無料】Unity入門 [ 高橋啓治郎 ]" border="0" style="margin:0px;padding:0px"></a><p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px"><a href="http://hb.afl.rakuten.co.jp/hgc/02b75513.56077fcc.04549cd7.9cd6da87/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11352089%2f%3fscid%3daf_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15564999%2f" target="_blank">【送料無料】Unity入門 [ 高橋啓治郎 ]</a><br><span style="">価格：2,916円（税込、送料込）</span><br></p></div></td></tr></table>