如何将世界位置转换为统一3d中的局部位置

时间:2014-06-05 12:23:16

标签: unity3d position transform itween

我正在努力解决在本地位置转换世界位置的问题。我正在使用iTween插件。在iTween中有一个position的论点,它取得世界位置,但我想在像素中使用局部位置来移动iTween中的对象。 我尝试使用transform.TransformPoint(new Vector3(0,0,0)根据像素位置,它没有工作。

就像这个例子:

iTween.MoveTo(gameObject,iTween.Hash("position",new Vector(0,0,0) , "time" ,.6, "easetype" ,"easeincubic"));

位置的参数iTween取得世界位置,但我想转换像素位置。 就像我通过new Vector(450,50,0);

一样

您的帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

请记得在"islocal", true

中添加iTween.Hash参数

答案 1 :(得分:0)

你可以尝试使用Camera.current.WorldToScreenPoint(Vector3 vector)在相机空间中返回带有x和y的Vector3,意味着介于0和1之间的值。

通过将这些值与Screen.widthScreen.height相乘,可以得到像素的位置。

答案 2 :(得分:0)

"islocal' = true在moveto函数中无法正常工作。还有另一种解决方案。

这是我的代码:

iTween.MoveTo(gameObject,iTween.Hash("position",Target,"time",_Duration,"delay",_Delay,"easetype",_eEaseType,"islocal",true,"looptype",_eLoop));