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

回答編集履歴

2

不要な括弧を削除した

2020/07/24 23:15

投稿

bboydaisuke
bboydaisuke

スコア5339

answer CHANGED
@@ -37,7 +37,7 @@
37
37
 
38
38
  if (isLookAtCenter)
39
39
  {
40
- Vector3 diff = (center.transform.position - obj.transform.position);
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 に対応した

2020/07/24 23:15

投稿

bboydaisuke
bboydaisuke

スコア5339

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
- ![イメージ説明](67edd4233a1d1e5cf3232fa19e97c2da.gif)
49
+ ![イメージ説明](dde35b814295dac293d39247902bf957.gif)