Teachers open the door but You must enter by yourself.

Open Media Lab.オープンメディアラボ

的の設置

垂幕をスクリプトにより配置

  1. Taremaku という名前の空のオブジェクトを作成し、以下のスクリプトを Taremaku.cs という名前で作成し、アタッチ
    
    using UnityEngine;
    
    public class Taremaku : MonoBehaviour
    {
    	public GameObject prefab;
    
    	void Awake(){
    		for (var i = 0; i < 340; i++){
    			Instantiate(
    				prefab,
    				new Vector3(14f * (i / 170 * 2 - 1), 1.25f, 5.94f * (i % 170 + 1)),
    				Quaternion.Euler(0f, 90f, -90f),
    				transform
    			);
    		}
    	}
    }
    
  2. Taremaku/Taremaku.fbx を Inspector で PfefabにD&D

的プレハブの作成

  1. Mato/mato.fbxをHierarcyにD&Dし、Scale=(6, 6, 6)、tag="Mato"
  2. Box ColliderをAddし、size=(0.5, 0.5, 0.2)、Is Trigger にチェックを付ける
  3. Assets にD&Dし、Mato2.prefabを作成
  4. Hierarcyのmatoは削除

的をスクリプトにより配置

  1. Mato という名前の空のオブジェクトを作成し、以下のスクリプトを Mato.cs という名前で作成し、アタッチ
    
    using UnityEngine;
    
    public class Mato : MonoBehaviour
    {
    	public GameObject prefab;
    
    	void Awake(){
    		for (var i = 0; i < 12; i++){
    			Instantiate(
    				prefab,
    				new Vector3(-7f, 2.75f, 503f + 45f * i),
    				Quaternion.Euler(0f, 90f, 0f),
    				transform
    			);
    		}
    	}
    }
    
  2. Mato2.prefab を Inspector で PfefabにD&D

的に矢が当たった時の処理を追加

  1. ArrowオブジェクトにCapsule Collider を追加し、Radius=0.03、Height=0.8、Is Trigger にチェックを付ける
  2. Arrow.cs の Update関数の下に以下の関数を追記。この関数は衝突判定が生じると実行される(トリガーボタンとは関係ない)
    
    	void OnTriggerEnter(Collider other){
    		var mato=other.gameObject;
    		if(mato.tag == "Mato"){
    			GetComponent<AudioSource>().Play();//的壊れる音
    			Destroy(mato);
    		}
    	}
    
  3. Arrowオブジェクトに、的が壊れる音mato1.mp3をアタッチ
This site is powered by
Powered by MathJax