纳金网
标题:
屏幕坐标跟世界坐标的转换
[打印本页]
作者:
狂风大尉
时间:
2014-6-24 17:20
标题:
屏幕坐标跟世界坐标的转换
using UnityEngine;
using System.Collections;
public class cameramove : MonoBehaviour
{
private Vector3 world;
private float speed = 0;//物体移动的速度
// Use this for initialization
void Start()
{
world.x = -2;
world.y = 0;
world.z = 6;
}
// Update is called once per frame
void Update()
{
Vector2 screenpos = Camera.main.WorldToScreenPoint(transform.position);//物体的世界坐标转化成屏幕坐标
Vector3 e = Input.mousePosition;//鼠标的位置
//当点击鼠标中键时
//unity3d论坛http://www.unitymanual.com
if (Input.GetMouseButtonDown(2))
{
//e.z=screenpos.z;//1.因为鼠标的屏幕 Z 坐标的默认值是0,所以需要一个z坐标
//e.z=1;//将鼠标
//摄像机要垂直于x-z平面
//world=Camera.main.ScreenToWorldPoint(e);
world = new Vector3(Input.mousePosition.x/Screen.width,Input.mousePosition.y/Screen.height,106f );
Vector3 world1= Camera.main.ViewportToWorldPoint(new Vector3(world.x, world.y, 106f));
//world.x = Camera.main.ScreenToWorldPoint(Input.mousePosition).x;
//world.z = Camera.main.ScreenToWorldPoint(Input.mousePosition).y;
//world.y = transform.position.y;
print("new x:" + world.x);
print("new y:" + world.y);
print("new z:" + world.z);
//创建物体
//GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Sphere);
//goNew.transform.position = world1;
transform.LookAt(world1);
}
}
}
复制代码
作者:
hyui
时间:
2014-6-24 18:02
Thanks for this!
作者:
hariboot
时间:
2014-6-25 09:15
MARK THIS CONTENT
作者:
hxsdsjr
时间:
2014-7-30 15:04
学习了
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5