2014-01-01から1年間の記事一覧

衝突したGameObjectのComponentにアクセスする。

衝突した、というかほかのGameObjectのComponentにアクセスする方法。 GetComponentで持ってくる。 衝突したオブジェクトのEnemyComponentのプロパティ、pointにアクセスする場合。 void OnTriggerEnter2D(Collider2D c) { c.gameObject.GetComponent<Enemy>().poin</enemy>…

PrefabをGUIで複製する。

スクリプトからPrefabを作る方法はあるっぽいけど、今回はそれじゃなく、Prefabを普通にGUIでコピペする方法。 普通にCtrl+Cとか右クリックで出来るだろうと思ったら出来なかった。今のとこ見つけた方法は二つ。 まずは一旦シーン上にインスタンスを作って、…

Layerごとの衝突判定有無を設定する。

壁で跳ね返るようになったので大量にオブジェクトを配置してみた。が、このままではオブジェクト同士でも衝突してしまう。 そこで今回は、Enemyオブジェクト同士では衝突しないようにしてみる。Edit > Project Settings > Tags and Layersを選択EnemyのPrefa…

OnTriggerEnter2Dで反発処理

昨日の解決編。 やりたいことは、床に衝突した時と左右の壁に衝突した時で異なる反発係数を適応したい。 床と左右の壁で処理を変えるため、左右の壁ではscriptで反発処理をするように変更。左右の壁のBox Collider 2Dのis Triggerをチェック。 is Triggerを…

Rigidbody 2Dでオブジェクトをバウンドさせる

Physics2D Materialを使う。 http://docs.unity3d.com/Documentation/Components/class-PhysicsMaterial2D.htmlProjectビュー→Create→Physics2D Materialを選択Inspectorで摩擦係数と反発係数が設定できる。 これを設定したいColliderのMaterialに設定 実行…

Rigidbody 2DとApply Root Motionは併用できない

いろいろ経緯はおいといてunityの物理演算用component、Rigidbody 2Dを使ったところ ゆっくり下に動きはするものの、物理演算による落下とはほど遠い挙動。Rigidbody2Dの方を確認してみても、Gravity Scaleには1が入っているし、問題無さげ。 試しにGravity …