18
COPYRIGHT 2015 @ UNITY TECHNOLOGIES ボボボボボボボボボボボボボボボボボボ Unity Tips ユユユユ ユユユユユユユユ ユユユユ ・・ ユユ ユ

Unity tips

Embed Size (px)

Citation preview

Page 1: Unity tips

COPYRIGHT 2015 @ UNITY TECHNOLOGIES

ボール転がしゲームの制作を通して学ぶ Unity Tipsユニティ・テクノロジーズ・ジャパン伊藤 周

Page 2: Unity tips

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES

環境配置

Page 3: Unity tips

COPYRIGHT 2015 @ UNITY TECHNOLOGIES

Unity Tips  プロジェクトのファイル置き方• ルートは乱さない

• AssetStore のモノが勝手に置かれる場所• ならば自分関連のモノは「 _MyGame 」とかに置いておいてまとめておく

• _MyGame 以下は Scenes 、 Materials 、 Scripts 、 Animations 、 Models とフォルダ分けする(「 s 」をつけよう )

Page 4: Unity tips

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

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES

Player 設定

Page 6: Unity tips

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

COPYRIGHT 2015 @ UNITY TECHNOLOGIES

Unity Tips   Update と FixedUpdate の違い• Update

• 描画フレームごとに呼ばれる関数• 基本的な更新はこっちで• あまり使わない方がいい: Rigidbody 系

• FixedUpdate • 物理処理の更新の際に呼ばれる関数• 物理系をいじりたい時だけこっちで• あまり使わない方がいい: Input 系

Page 8: Unity tips

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

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

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

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

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES

Camera

Page 13: Unity tips

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

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES

Prefab

Page 15: Unity tips

COPYRIGHT 2015 @ UNITY TECHNOLOGIES

Unity Tips  Prefab 関連• Prefab はコピーした先を全て一気に変更できる

• Duplicate は一気に変更するのに手間がかかる• Instantiate して安全に生成できる

• シーン上のオブジェクトの Instantiate は危険• Prefab の関連を切る方法

• シーン上の Prefab 関連のオブジェクトを選択• メニューの「 GameObject→Break Prefab Instance 」で切れる

Page 16: Unity tips

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES

物理運動

Page 17: Unity tips

COPYRIGHT 2015 @ UNITY TECHNOLOGIES

Unity Tips 物理運動• Dynamic ←→Dynamic

• 例 : Player と Enemy• 通常の物理運動( Rigidbody 同士)

• Dynamic ←→ Static• 例 : Player と地形• Static は作用しないで Dynamic が一方的に移動 (Rigidbody と 非

Rigidbody)• Static ←→ Static

• 処理しない(動かないので)

Page 18: Unity tips

COPYRIGHT 2015 @ UNITY TECHNOLOGIES

Unity Tips 物理運動• 移動する反作用させたいものは、全て Rigidbody をつける

• 例 : 動く地形とか• Rigidbody を付けて Is Kinematic をオン

• つけないと、毎回再計算をしてしまう