回答編集履歴
2
不要な括弧を削除した
answer
CHANGED
@@ -37,7 +37,7 @@
|
|
37
37
|
|
38
38
|
if (isLookAtCenter)
|
39
39
|
{
|
40
|
-
Vector3 diff =
|
40
|
+
Vector3 diff = center.transform.position - obj.transform.position;
|
41
41
|
obj.transform.rotation = Quaternion.FromToRotation(Vector3.up, diff);
|
42
42
|
}
|
43
43
|
}
|
1
LookAt に対応した
answer
CHANGED
@@ -27,16 +27,23 @@
|
|
27
27
|
/// <param name="count">生成数</param>
|
28
28
|
/// <param name="center">中心点のオブジェクト</param>
|
29
29
|
/// <param name="distance">距離</param>
|
30
|
+
/// /// <param name="isLookAtCenter">中心点の方向に向けるか</param>
|
30
|
-
private void SpawnObjectsOnRoundTable(GameObject prefab, int count, GameObject center, float distance)
|
31
|
+
private void SpawnObjectsOnRoundTable(GameObject prefab, int count, GameObject center, float distance, bool isLookAtCenter = true)
|
31
32
|
{
|
32
33
|
for (int i = 0; i < count; i++)
|
33
34
|
{
|
34
35
|
var position = center.transform.position + (Quaternion.Euler(0f, 0f, 360f / count * i) * center.transform.up * distance);
|
35
36
|
var obj = Instantiate(prefab, position, Quaternion.identity);
|
37
|
+
|
38
|
+
if (isLookAtCenter)
|
39
|
+
{
|
40
|
+
Vector3 diff = (center.transform.position - obj.transform.position);
|
41
|
+
obj.transform.rotation = Quaternion.FromToRotation(Vector3.up, diff);
|
42
|
+
}
|
36
43
|
}
|
37
44
|
}
|
38
45
|
}
|
39
46
|
```
|
40
47
|
|
41
48
|
**実行している様子**
|
42
|
-

|