Upload
makotoitoh
View
9.067
Download
0
Embed Size (px)
Citation preview
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
ボール転がしゲームの制作を通して学ぶ Unity Tipsユニティ・テクノロジーズ・ジャパン伊藤 周
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
環境配置
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips プロジェクトのファイル置き方• ルートは乱さない
• AssetStore のモノが勝手に置かれる場所• ならば自分関連のモノは「 _MyGame 」とかに置いておいてまとめておく
• _MyGame 以下は Scenes 、 Materials 、 Scripts 、 Animations 、 Models とフォルダ分けする(「 s 」をつけよう )
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips エディタの使い方• Unity Editor の使い方
• Unity Editor = 台所• Alt+ ドラッグ : 回転、ホイール : 拡大縮小、ホイールドラッグ : 平行移動、 F キー : 注目
• 名前変更のやり方は2種類• クリックして、ちょっと経ってもう一度クリック• Inspector から変更
• ファイルの追加?更新?• Explorer/Finder から上書きコピー → ファイル更新• Explorer/Finder から Unity に D&D → ファイル追加
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
Player 設定
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Update と FixedUpdate の違い• Update : 不定期• FixedUpdate :定期
Update Render Update Render Update Render
Fixed Fixed Fixed Fixed Fixed
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Update と FixedUpdate の違い• Update
• 描画フレームごとに呼ばれる関数• 基本的な更新はこっちで• あまり使わない方がいい: Rigidbody 系
• FixedUpdate • 物理処理の更新の際に呼ばれる関数• 物理系をいじりたい時だけこっちで• あまり使わない方がいい: Input 系
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Component 参照について• 同じ GameObject に参照したい Component がある場合
• GetComponent<MyClass>()利点:いちいち Inspector で操作しなくても良い欠点:冗長。少し処理が走る• public MyClass myClass 変数として、 Inspector で D&D利点:簡潔。負荷なし欠点: Missing になるかも• [RequireComponent (typeof (Rigidbody))] ← オススメ
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>();}
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 !)
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);
}
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
Camera
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
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
Prefab
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips Prefab 関連• Prefab はコピーした先を全て一気に変更できる
• Duplicate は一気に変更するのに手間がかかる• Instantiate して安全に生成できる
• シーン上のオブジェクトの Instantiate は危険• Prefab の関連を切る方法
• シーン上の Prefab 関連のオブジェクトを選択• メニューの「 GameObject→Break Prefab Instance 」で切れる
COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2015 @ UNITY TECHNOLOGIES
物理運動
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips 物理運動• Dynamic ←→Dynamic
• 例 : Player と Enemy• 通常の物理運動( Rigidbody 同士)
• Dynamic ←→ Static• 例 : Player と地形• Static は作用しないで Dynamic が一方的に移動 (Rigidbody と 非
Rigidbody)• Static ←→ Static
• 処理しない(動かないので)
COPYRIGHT 2015 @ UNITY TECHNOLOGIES
Unity Tips 物理運動• 移動する反作用させたいものは、全て Rigidbody をつける
• 例 : 動く地形とか• Rigidbody を付けて Is Kinematic をオン
• つけないと、毎回再計算をしてしまう