unity tips
TRANSCRIPT
![Page 1: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/1.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
ボール転がしゲームの制作を通して学ぶ Unity Tipsユニティ・テクノロジーズ・ジャパン伊藤 周
![Page 2: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/2.jpg)
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
環境配置
![Page 3: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/3.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips プロジェクトのファイル置き方• ルートは乱さない
• AssetStore のモノが勝手に置かれる場所• ならば自分関連のモノは「 _MyGame 」とかに置いておいてまとめておく
• _MyGame 以下は Scenes 、 Materials 、 Scripts 、 Animations 、 Models とフォルダ分けする(「 s 」をつけよう )
![Page 4: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/4.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips エディタの使い方• Unity Editor の使い方
• Unity Editor = 台所• Alt+ ドラッグ : 回転、ホイール : 拡大縮小、ホイールドラッグ : 平行移動、 F キー : 注目
• 名前変更のやり方は2種類• クリックして、ちょっと経ってもう一度クリック• Inspector から変更
• ファイルの追加?更新?• Explorer/Finder から上書きコピー → ファイル更新• Explorer/Finder から Unity に D&D → ファイル追加
![Page 5: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/5.jpg)
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
Player 設定
![Page 6: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/6.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Update と FixedUpdate の違い• Update : 不定期• FixedUpdate :定期
Update Render Update Render Update Render
Fixed Fixed Fixed Fixed Fixed
![Page 7: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/7.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Update と FixedUpdate の違い• Update
• 描画フレームごとに呼ばれる関数• 基本的な更新はこっちで• あまり使わない方がいい: Rigidbody 系
• FixedUpdate • 物理処理の更新の際に呼ばれる関数• 物理系をいじりたい時だけこっちで• あまり使わない方がいい: Input 系
![Page 8: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/8.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Component 参照について• 同じ GameObject に参照したい Component がある場合
• GetComponent<MyClass>()利点:いちいち Inspector で操作しなくても良い欠点:冗長。少し処理が走る• public MyClass myClass 変数として、 Inspector で D&D利点:簡潔。負荷なし欠点: Missing になるかも• [RequireComponent (typeof (Rigidbody))] ← オススメ
![Page 9: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/9.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Component 参照について• 同じ GameObject に参照したい Component がある場合の
FA[RequireComponent(typeof(Rigidbody))]public class myBallCon : MonoBehaviour {
private Rigidbody rb;
void Start(){
rb = GetComponent<Rigidbody>();}
![Page 10: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/10.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Component 参照について• 他の GameObject に参照したい Component がある場合
• GameObject.Find(“MyObject”) → GetComponent利点:自由。簡単。欠点:とにかく重い。名前が変わったら検索できなくなるし、それがわからない• GameObject.FindWithTag(“MyTag”) → GetComponent利点:ある程度軽い。欠点:タグを増やす手間がかかる。多少負荷がかかる• public MyClass myClass 変数として、 Inspector で D&D利点:簡潔。負荷なし欠点: Prefab にすると Missing になる(超 NG !)
![Page 11: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/11.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Component 参照について• 他の GameObject に参照したい Component がある場合の
FAusing UnityEngine.Assertions;public class myBallCon : MonoBehaviour {
private Rigidbody otherRb;void Start() {
GameObject go = GameObject.FindWithTag("MyPlayer");Assert.IsNotNull<GameObject>(go);otherRb = go.GetComponent<Rigidbody>();Assert.IsNotNull<Rigidbody>(otherRb);
}
![Page 12: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/12.jpg)
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
Camera
![Page 13: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/13.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Update と LateUpdate の違い• LateUpdate は 全ての Update の後に処理される
Update Late
Update
Update
Late
Late
Component A
Component B
Component C
Update
Update
Update
![Page 14: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/14.jpg)
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
Prefab
![Page 15: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/15.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Prefab 関連• Prefab はコピーした先を全て一気に変更できる
• Duplicate は一気に変更するのに手間がかかる• Instantiate して安全に生成できる
• シーン上のオブジェクトの Instantiate は危険• Prefab の関連を切る方法
• シーン上の Prefab 関連のオブジェクトを選択• メニューの「 GameObject→Break Prefab Instance 」で切れる
![Page 16: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/16.jpg)
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
物理運動
![Page 17: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/17.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips 物理運動• Dynamic ←→Dynamic
• 例 : Player と Enemy• 通常の物理運動( Rigidbody 同士)
• Dynamic ←→ Static• 例 : Player と地形• Static は作用しないで Dynamic が一方的に移動 (Rigidbody と 非
Rigidbody)• Static ←→ Static
• 処理しない(動かないので)
![Page 18: Unity tips](https://reader036.vdocuments.net/reader036/viewer/2022062901/58f9b7471a28abf51d8b4605/html5/thumbnails/18.jpg)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips 物理運動• 移動する反作用させたいものは、全て Rigidbody をつける
• 例 : 動く地形とか• Rigidbody を付けて Is Kinematic をオン
• つけないと、毎回再計算をしてしまう