0
我將如何瞄準旋轉Unity UI元素的RectTransform,以便元素指向世界空間畫布上的另一個UI元素?如何旋轉Unity UI RectTransform,使其指向另一個UI元素
在下面的圖像中,我想旋轉一個Slider(但它可以是任何UI元素),以便在Canvas周圍拖動按鈕時始終面向Button。
感謝您的幫助,您可以提供。
我將如何瞄準旋轉Unity UI元素的RectTransform,以便元素指向世界空間畫布上的另一個UI元素?如何旋轉Unity UI RectTransform,使其指向另一個UI元素
在下面的圖像中,我想旋轉一個Slider(但它可以是任何UI元素),以便在Canvas周圍拖動按鈕時始終面向Button。
感謝您的幫助,您可以提供。
將要旋轉的元件上的腳本包含像這樣:
//References for the pivot position of the UI elements
public RectTransform targetAnchor;
RectTransform selfAnchor;
//Set the rotating elements RectTransform
void Start() {
selfAnchor = GetComponent<RectTransform>();
}
//Update the UI elements rotation
void Update() {
float targetRotation = Mathf.Atan((targetAnchor.y - selfAnchor.y)/(targetAnchor.x - selfAnchor.x));
selfAnchor.rotation = Quaternion.Euler(0,0, targetRotation);
}
我不能在此刻測試這一點,但如果你仍然有問題,我可以在我更新回家。
ArcTan只給出一個介於-90和90度之間的結果嗎? 只是一個領導。在上面的例子中,當Atan方法以弧度返回角度時,你必須乘以Mathf.Rad2Deg的targetRotation。 – Bakewell
@Bakewell這是真的,很好的捕捉。 – Chairs