質問編集履歴
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
###できていること
|
24
24
|
|
25
|
-
オブジェクトの上にRaycastが当たっているときは、その上にオブジェクトを設置することはできています。
|
25
|
+
オブジェクトの上側にRaycastが当たっているときは、その上にオブジェクトを設置することはできています。
|
26
26
|
|
27
27
|
|
28
28
|
|
1
コードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,11 +12,17 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
Scale(1, 1, 1)のキューブオブジェクト(Prefabオブジェクト)をMinecraftのように設置できるようにしたいです。設置するオブジェクトの位置はRaycastが当たった位置の切り捨て+0.5fの値にしています。
|
15
|
+
Scale(1, 1, 1)のキューブオブジェクト(Prefabオブジェクト)をMinecraftのように設置できるようにしたいです(Raycastが側面と当たっていたら側面側にオブジェクトを設置、Raycastがオブジェクトの下に当たっていたらその下にオブジェクトを設置できるようにしたい)。設置するオブジェクトの位置はRaycastが当たった位置の切り捨て+0.5fの値にしています。
|
16
16
|
|
17
17
|
なぜそのようにしているのかというと、オブジェクトの位置は整数ではなく、~.5の少数の形にしたいからです。
|
18
18
|
|
19
19
|
地面の位置はy = 0です。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
###できていること
|
24
|
+
|
25
|
+
オブジェクトの上にRaycastが当たっているときは、その上にオブジェクトを設置することはできています。
|
20
26
|
|
21
27
|
|
22
28
|
|
@@ -27,6 +33,8 @@
|
|
27
33
|
```C#
|
28
34
|
|
29
35
|
GameObject Prefab;
|
36
|
+
|
37
|
+
float distance = 5;
|
30
38
|
|
31
39
|
Ray rayFPS = new Ray(Camera.main.gameObject.transform.position, Camera.main.gameObject.transform.forward);
|
32
40
|
|
@@ -64,7 +72,15 @@
|
|
64
72
|
|
65
73
|
|
66
74
|
|
75
|
+
また、オブジェクトの下からRaycastが上を向いた状態で当たると、そのオブジェクトの下にオブジェクトを設置したいのですが、コードで、 **Y + 0.5f**されているので、重なってしまいます。
|
76
|
+
|
77
|
+
|
78
|
+
|
67
|
-
X座標だけを言いましたが、Z座標でも同じです。
|
79
|
+
XとY座標だけを言いましたが、Z座標でも同じです。
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
---
|
68
84
|
|
69
85
|
|
70
86
|
|