Unityの学習 part3
今回は、前回のシーンにさらに要素を追加していきます
追加要素は、
物体通過設定・衝突判定時のスクリプト・タグ設定
となります
追加要素
まず最初に、キューブオブジェクトを追加します
追加した時点では、サイズが大きすぎますので、Scaleをすべて0.4にします
また、Rotationは(45, 0, 45)にします
あとは、マテリアルを生成して好きな色をつけます
現状のままでは、キューブオブジェクトにぶつかると、球体オブジェクトは跳ね返ってしまいますので、これを通過できるように設定します
設定方法はInspectorにあるboxColliderコンポーネントのIs Triggerにチェックを付けます
これでキューブオブジェクトを通過することができました
次に処理したいのは、通過した際に現在のオブジェクトが消えることです
これは、スクリプトで処理します
オブジェクトを特定する時にタブの比較をするために、キューブオブジェクトにタブを設定していきます
設定方法は、Inspectorのオブジェクト名の下にTagがあるので、それをクリックしてAdd Tagを選択します
すると、Tagsの欄にタグを足すボタンがあるのでそれを押して「Item」のタグを追加します
追加した後はキューブオブジェクトに先ほど追加したタグをセットします
では、球体オブジェクトのスクリプトに追記していきます
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Item"))
{
other.gameObject.SetActive(false);
}
}
other.CompareTag(“Item”)で接触した際のオブジェクトのタグが「Item」と一致しているかを判定しています
一致するとそのオブジェクトのアクティブにfalseを設定して表示されないようにします
実行結果:
終わりに
物体同士の接触時にはタグ比較が使われることが多いとおもいますので、タグの設定や比較は覚えておいて損はないでしょう
Unityでは、1つのオブジェクトには1つのタグしかセットできませんが、特定の文字(_や/など)をつけて「inGame_Player」とすると、スクリプト内で分解できるので、細かなタグ付けができます
火曜日担当:poppy
admin at 2017年01月31日 10:00:51