[unity3d]屏幕坐标跟世界坐标的转换

简介:

keep study very day!写写今天的学习收获,今天学习到了平面坐标跟世界坐标的相互转换。

效果:点击鼠标中键,创建一个小球,虽然看起来是屏面的,但实则是在三维空间里面创建的哦!


代码挂在摄像机上:
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;//鼠标的位置                   //当点击鼠标中键时          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);         }     } } 

==================== 迂者 丁小未 CSDN博客专栏=================

MyBlog:http://blog.csdn.net/dingxiaowei2013             MyQQ:1213250243

Unity QQ群:858550         cocos2dx QQ群:280818155

====================== 相互学习,共同进步 ===================

转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/14498293

欢迎关注我的微博: http://weibo.com/u/2590571922
相关文章
|
5月前
|
图形学
【unity小技巧】受伤屏幕闪红、死亡动画、死亡黑屏效果
【unity小技巧】受伤屏幕闪红、死亡动画、死亡黑屏效果
172 2
|
数据采集 开发工具 图形学
Windows平台实现Unity下窗体|摄像头|屏幕采集推送
随着Unity3D的应用范围越来越广,越来越多的行业开始基于Unity3D开发产品,如传统行业中虚拟仿真教育、航空工业、室内设计、城市规划、工业仿真等领域。
107 0
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity 屏幕坐标 和 世界坐标 之间相互转换
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
|
前端开发 图形学
Unity 之大屏幕多点触控插件 TouchScript 9.0 入门指南(上)
在端游上大家应该多数都使用过的EasyTouch插件,在EasyTouch 5.0.17 最新版本扩展方法中我有过简单的介绍,今天说一下另一款触摸插件,它非常适合做展示类大屏幕的多点触控TouchScript,在Unity上的AssetStore也是五...
3406 0
|
图形学 编解码 Android开发