質問するログイン新規登録

回答編集履歴

1

追記

2017/09/14 07:25

投稿

fiveHundred
fiveHundred

スコア10480

answer CHANGED
@@ -1,3 +1,17 @@
1
1
  サイズさえ合っていればいいのであれば、Canvasのオブジェクトを選択し、InspectorからCanvasコンポーネントのRender ModeをScreen Space - OverlayからScreen Space - Cameraに、Render Cameraを使っているCameraに設定すればよいです。
2
2
  Canvasの位置を変更できるようにしたい場合は、Render ModeにWorld Spaceにする(Camera設定は不要)とよいです(この場合、大きさなどの設定は自分で行ってください)。
3
- ただし、どちらの場合でも、Z座標などの設定次第では、表示されなかったり、表示されても他のオブジェクトに隠れてしまうことがありますので、その点は注意してください。
3
+ ただし、どちらの場合でも、Z座標などの設定次第では、表示されなかったり、表示されても他のオブジェクトに隠れてしまうことがありますので、その点は注意してください。
4
+
5
+ ---
6
+
7
+ 追記:
8
+ ShiroKuroShiroさんの回答を見て、先の回答が適切ではないような気もしましたので、追記します。
9
+ 先の回答は、「画像=UIではないもの(キャラクターなど)」という考えの元、UIを3D空間に落とし込む方法として挙げました。
10
+ (2Dなのに3D空間との言葉が出てくるのは変だ、と思われるかもしれませんが、これは、Unityは2Dの場合でも3D空間上に配置する形になっているためです)
11
+ そのため、もし「画像=UI」なのであれば、Screen Space - CameraやWorld Spaceを採用する場合であっても、ShiroKuroShiroさんの回答の手順で、UIとして作るべきだと思います。
12
+
13
+ また、Screen Space - Overlayのとき、大きさが異なってしまう点ですが、これは正常な動作です。
14
+ Screen Space - Overlayの場合、3D空間とUIの空間が異なるものとして扱われるためです。
15
+ 3D空間ではカメラで映したものが表示されますが、UIはそうではなく、Canvasの大きさに合わせて表示がされます。
16
+
17
+ 今回は2Dなので、大きさや空間を合わせた方が分かりやすいとは思いますが、もし仮に3Dであれば、大きさなどを合わせる必要はあまりないので、気にせずそのまま使うのがいいと思いますし、そのように回答したと思います。