using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour {
public GameObject mObj;
void Start () {
}
IEnumerator Create () {
//第一种方法
for (int i = 0; i < 8; i++) {
GameObject obj = Instantiate (mObj);
yield return new WaitForSeconds (0.5f);
obj.transform.position = Vector3.zero;
obj.transform.eulerAngles = new Vector3 (0, 45 * i, 0);
obj.transform.position += obj.transform.forward * 5;
}
// 第二种方法 数学的方法(算正玄余玄值 )
for (int i = 0; i < 8; i++) {
GameObject obj = Instantiate (mObj);
yield return new WaitForSeconds (0.5f);
obj.transform.position = new Vector3 (5 * Mathf.Cos (45 * i * Mathf.Deg2Rad), 0, 5 * Mathf.Sin (45 * i * Mathf.Deg2Rad));
obj.transform.LookAt (this.transform.position);
obj.transform.eulerAngles += new Vector3 (0, 180, 0);
}
// 第三种方法 四元数
Vector3 forward = new Vector3 (0, 0, 5); //让一个向量旋转,让这个向量乘以一个四元数可以把这个向量旋转
for (int i = 0; i < 8; i++) {
GameObject obj = Instantiate (mObj);
yield return new WaitForSeconds (0.5f);
obj.transform.position = this.transform.position + Quaternion.Euler (new Vector3 (0, 45 * i, 0)) * forward;
obj.transform.eulerAngles = new Vector3 (0, 45 * i, 0);
}
}
}