【发布时间】:2021-12-22 19:33:53
【问题描述】:
所以我试图将箭头指向我场景中的某个位置,我想将箭头旋转到那个位置。我试图将世界位置变为屏幕位置,然后从中减去箭头的位置,然后设置旋转,但我在转换旋转以使其正确时遇到了一些麻烦(或者我在另一个地方做错了什么) .该脚本附加到我希望它指向的对象上,这是我当前的代码:
Vector3 viewportPos = Camera.main.WorldToViewportPoint(transform.position);
Vector2 worldObjScreenPos = new Vector2(
(viewportPos.x * canvasRectTrans.sizeDelta.x) - (canvasRectTrans.sizeDelta.x * 0.5f),
(viewportPos.y * canvasRectTrans.sizeDelta.y) - (canvasRectTrans.sizeDelta.y * 0.5f));
Vector3 rot = worldObjScreenPos - arrowRectTrans.anchoredPosition;
arrowRectTrans.rotation = Quaternion.Euler(rot);
但这给了我一些奇怪的结果,箭头开始疯狂地旋转。
【问题讨论】:
-
那么箭头默认是向右还是向上?
-
@derHugo 它指向上方