0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SphereをCubeに当てたら100が表示。

Last updated at Posted at 2019-01-20

##はじめに
UnityVersion2018.2.14f1を使用。
関数・設定は基本的なものだと思うので、バージョンが相当古くない限り使えると思います。
表題の通りSphereがCubeに当たったらCubeが消滅して100が表示されます。
100はGameObject 3DTextを使用。

##用意するもの

  • GameObject
    • Cube
    • Sphere
    • 3DText

#Cubeの配置・設定

  • 配置

メニューバーのGameObject

3DObject

Cubeを選択

Cubeがフィールド上に配置されます。

InspectorタブにあるBox Colider欄のIs Triggerにチェックを入れる。
Position.yをCubeより上に設定する(Cubeが原点(0,0,0)の場合)。

trigger設定.png

##Sphereの配置・設定

  • 配置

Cubeの配置と同様の方法でSphereを選択する。

InspectorからTransform Position YをCubeより上の設定値にする。

  • 設定

HierachyのSphereを選択

Inspectorを表示させAdd Componentボタンを押す

検索からRigidbodyを探して選ぶ

Qiita20190109.png

##100の作成・プレハブ化

Cubeの配置と同様の方法で3D Textを選択する

NewTextが表示され選択し、TextMeshのTextに100と入力する。

Projectに生成されているフォルダー(どこでも良い)にInspectorのNewtextを挿入する(プレハブ化)

プレハブ化.png

##スクリプトを組む
HierachyのCubeを選択

Inspectorを表示させAdd Coonentボタンを押す

検査からNew Scriptを探して選ぶ

Nameは何でもよい(ここではCubeにしておく)。

編集作業

public class Cube : MonoBehaviour {
    //GameObjectの設定
    [SerializeField] GameObject newtext;
    //CubeRendererの設定
    [SerializeField] Renderer RendererCube;
    //Cubeが消えたところにTextを表示させる。
    Vector3 pos = new Vector3(-1.0f, 1.0f, 0);

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		
	}

    //Sphereが当たった時の設定
    void OnTriggerEnter(Collider other)
    {
        //Rendererを偽(オフ)にする。
        RendererCube.enabled = false;
        //new Textクローンの生成
        Instantiate(newtext, transform.position +pos, Quaternion.identity);
        //4f後にCubeが消える
        Destroy(gameObject, 4f);
    }
}

##[SerializeField]にGameObjectを挿入する
Cube(Hierachy)を選択する

Cube(Script)のRenderer CubeにCube(Hierachy)を挿入する

プレハブ化したNew textをCube(Script)のTextに挿入する。

挿入.png

##再生ボタンで結果
わかりやすくCubeと100を赤にしてあります。
movie.gif

##補足
3Dのオブジェクトと3DTextの中心座標(0,0,0)は設定上同じでも実際に配置すると、違う場所に表示される。
いくつかサイトを検索して調べてみたが、設定で改善する方法が見つからず、Vertex値をいじくることで解決。

##感想
今回は画像と文字を使ったが、画像を使う場合文字を減らすことができるかつ理解がしやすいと感じた。
やっていることはたいしたことがないが、今後も自分の勉強の為にアップデートしていきたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?