2017-11-18 126 views
1

enter image description here如何獲得Unity C#中的傾斜圓的圓周座標?

使用以下代碼獲得非傾斜圓的周長座標,如上圖所示。

//c=Center 
//r=radius 
//i=angle 
Vector3 FindPoint(Vector3 c, float r, int i) 
{ 
    return c + Quaternion.AngleAxis(1.0f * i, Vector3.forward) * (Vector3.right * r); 
} 

//Example of securing coordinates 
for(int i=0;i<360;i++) 
{ 
    point[i] = FindPoint(center, radius, i); 
} 

enter image description here

但是,如上述的圖像中,我需要得到對於在x軸傾斜的圓圈的圓周座標。

當您知道原點和半徑以及沿x軸的傾斜值時,如何知道傾斜圓的圓周的三維座標?

回答

2

從統一文檔: 與Vector3.forward不同,Transform.forward在考慮其旋轉的同時移動GameObject。 所以,你可以替換此行:

return c + Quaternion.AngleAxis(1.0f * i, Vector3.forward) * (Vector3.right * r); 

與下列之一:

return c + Quaternion.AngleAxis(1.0f * i, transform.forward) * (transform.right * r); 

**我猜你的腳本連接到這樣用變換傾斜對象。否則,你需要像tiltedObj.transform一樣使用它。