Unity+UnrealEngine4+Blog.

UnityやUnrealEngine4とかについて学習したことを書いてます

Unity&C#学習 Part6 3Dテキストを使ってランダムに数字を出力する

今回は壁に好きな画像を張って、その壁の前に3DTextを配置してランダムな数字を出力する学習をやっていきます。

UI上に表示するのではないので、例えばPlayerとカメラが動くと視界から外れることになります。

 

▶今回の学習内容

  • 3DTextの設置
  • オブジェクトへ画像を貼る
  • ランダムな数字を出力する

 

ランダムな数字の出力についてはこちらの動画を参考にしました。コードの書き起こしは下記にありますのでそちらも参考にしてください。

 

 

▶準備するもの

  • 数字を表示させる3Dテキスト
  • スクリプト
  • ステージセット(照明・カメラなど)

 

 まず、背景となる壁を作成します。Cubeを作成しサイズ調整を行って壁を作成します。その上へ今回は自分の持っている好きな画像を張りたいと思います。

f:id:nabesi777:20180919112122j:plain

 

 

 好きな画像をローカルフォルダよりProject上へドラッグ&ドロップして入れます。(.pingや.jpegなど、Photoshopのデータも入りました)

 

次にProject上で右クリック>Create>MaterialでMaterialを作成します。

 MaterialのShader:Standardの部分を変更します。プルダウンをクリックしてLegacyShaders>Diffuseに変えます。

 

そうすると画面が切り替わって「None(Texture)」と表示された四角形が出てきます。

 

その中にある「Select」を選択して、先ほどローカルフォルダーから読み込んだ画像を指定します

 

f:id:nabesi777:20180915222001j:plain

 

これでMaterialへ画像の登録ができたので、表示させたいオブジェクト(今回は壁へ)アタッチします。そうすると上の図のようにオブジェクトへ反映されました。

 

 次に数字を表示させるテキストを準備します。3DTextを作成します。

3DTextはHierarchy上で右クリックして、3Dオブジェクト>3DTextで作成することができます。名前をRandomTextへ変えて色やtextを変更します。

 

f:id:nabesi777:20180915222513j:plain

 

次にランダムで数字を出力するスクリプトを書きます。新規スクリプトを作成してRandomGeneratorと名前をつけました。

 

コードはこちらになります。

 

 

 コードが書けたら3Dテキストへアタッチします。

 f:id:nabesi777:20180915221949j:plain

 

 TextDisplayへは自分自身を格納しています。

 

あとはカメラの位置などを調整して完成です!

f:id:nabesi777:20180915223049g:plain

 

ランダムな表示が自動的に表示されるようになりました。