備忘録も兼ねてUnityでこういうことをしたいときにどうすればいいのといったことをまとめていきます。基本的にUnity5での使い方になります。UnityでiOSやAndroidアプリを作ることが多いので、一般的なUnityで作るゲームのようなものとは少し異なるかもしれません。
このページはインデックスページとして使用していきます。
項目としては以下の様なものを書いていこうかと思います。
目次
- ・オブジェクトの生成、追加
- ・スクリプトのアタッチ
- ・オブジェクトの移動、回転、拡大縮小 その1
- ・オブジェクトの移動、回転、拡大縮小 その2
- ・スクリプトでオブジェクトを見つける
- ・他のオブジェクトにアタッチされたスクリプトにアクセスする
- ・オブジェクトを表示、非表示にする
- ・オブジェクトに物理演算を適用する
- ・オブジェクトの衝突判定を検知する
- ・音を鳴らす
- ・uGUIを使う
- ・iOSのネイティブの機能を使う
- ・Androidのネイティブの機能を使う
- ・Facebook SDKを使ってFacebookに画像をシェアする
- ・Twitterに投稿する
- ・Lineに送る
Unityの基本的なこと
UnityはSceneと呼ばれる一つのステージの塊のようなもので構成されます。SceneはiOSやAndroidで言うところの、ViewControllerやActivityのようなものです。場面の遷移は基本的にはScene間を移動することで表現します。ただし、Scene間を移動する際アニメーション等は特にないので、不自然なく遷移するためには自分でアニメーションを書かないといけないといった事があります。
Unityでは基本的に、スクリプトだったり、3Dモデルなどは、GameObjectというものに対し、様々なコンポーネントと呼ばれる機能が備わってできています。例えば、Scene上でスクリプトを実行するためには、Sceneに配置されているGameObjectにスクリプトというコンポーネントを追加することで実行されます。キューブのような3Dモデルは、GameObjectにCube MeshやMaterialのコンポーネントを追加することでScene上で表現されます。また、Unityの特徴として、3DモデルとそのモデルにアタッチされたスクリプトやMaterialなどをひとまとめにし、Prefabというものにすることで、他のScene間でも同じものが使いまわせるといったことができます。
また、UnityにはAsset Storeという、プログラムや3Dオブジェクトだったり、Sceneそのものまで販売されてます。無料のものと有料の物がありますが、場合によって使い分けるのがいいと思います。またAsset Store以外にもソースコードが公開されていることが多いので、そっちも大変参考になります。
Unityは複雑なものを作ることができますが、意外とプログラムを書かなくてもある程度のものであれば、ほとんどプログラムを書かなくても作ることができるので、プログラマー以外の人でも簡単に作ることが出来ます。
Unityの画面
Unityを初めて起動するとこのような画面になると思います。
画面はいろいろなタブが表示されており、それぞれが様々な機能を持っています。また、このタブはドラッグ&ドロップで移動できるので、自分の使いやすいように移動させることが出来ます。
それでは左上から順番に説明していこうと思います。
・Hierarchy
このタブには、現在Sceneの中にあるGameObjectが表示されています。Scene上では非表示になっているものでも、グレーアウトされて表示されます。この中でオブジェクト同士を重ねることによって、親子関係をもたせたり、解消させたりすることができます。XcodeのStoryboardで親子関係を持たせる操作とほぼ同じ感覚で出来ます。
・Scene
ここではSceneの中にどのように配置されているのかを視覚的に見ることが出来ます。またこのタブでの表示は実行した時に表示されるものとは見え方が違います。実際のGame画面でどのように見えるのかは、Gameタブに表示されているものがそうです。このタブの中に表示されているGameObjectはGUI上で動かすことが出来ます。動かし方は、ドラッグをすることで動かせます。GameObjectを変化させる方法は3種類あり、移動、回転、拡大縮小の3種類です。それぞれの操作をするためには、GameObjectを選択した状態で、移動するときは「Wキー」、回転は「Eキー」、拡大縮小は「Rキー」をそれぞれ押すことで、赤青緑のGUIで操作できるオブジェクトが表示されるので、このGUIを操作することによってGameObjectを変化させることが出来ます。
・Game
このタブでは先程も書きましたが、実際にゲームを起動したときに表示される画面と同じものが表示されています。この画面はどのようにして決まっているのかは、Scene上に存在する、Cameraから見えるものがGameタブに表示されています。
・Inspector
このタブでは、GameObjectの様々なパラメータを変化させることが出来ます。また、Add Componentから新しいコンポーネントを追加することも出来ます。このタブは移動や回転といったことから、Materialの変更だったり、スクリプトで使用するGameObjectを指定したりとかなり様々なことができるので、使い方を徐々に覚えていくとどんどん便利になっていきます。
・Project
このタブは現在このプロジェクトで使用しているものがすべて表示されます。このタブの中に画像やサウンドファイル等をドラッグ&ドロップするだけでプロジェクト内に追加することが出来ます。
・Console
いわゆる普通のコンソールタブです。エラー内容やデバッグログなどが表示されます。
終わりに
とりあえずの基礎的なことはこんな内容かなと思います。途中で気になったことがあったり、これってどういうこと?って聞かれたりしたらまた追加していくと思います。
まだ書き始めたばかりですが、それぞれのページができ次第順次更新していこうと思います。
では、また。