LoginSignup
0
0

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