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);
}
}
}
分享到:
相关推荐
该Demo是为unity3d中画线案例,可以将世界坐标转换为屏幕坐标,屏幕坐标画线。
Unity经纬度与坐标转换GisPointTo3DPoint 仅供学习,请勿商用。
2.用“tower”标签名称来区隔不同的3D物件 3.用此功能取得所点击的3D物件的x,y,z坐标(world space) 然后再透过camera.World
unity空间坐标与经纬度之间转换(DEMO)
计算parent与children的相对坐标与绝对坐标的换算,另有一些旋转的补充
本工具适合在项目中需要把GIS坐标转换Unity坐标的同学,自己也在项目中使用。可以减少你对这块底层算法的计算,提升开发效率
Unity 3D 观察物体 旋转查看物体 世界坐标与局部坐标旋转转换 旋转物体问题
2019-04-09 新鲜出炉的原创作品 超实用的 Unity3D 陀螺仪 控制 Gyro Gyroscope 控制立方体Cube 控制摄像机Camera 的简单Demo 陀螺仪坐标系四元数 转 世界坐标系四元数 重新校准位置 应该就是你想要
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。 Unity3D的PC插件安装量达到2 亿...
Unity3D-Coordinate system coordination(Finished).rar
如何用鼠标任意拖动物体移动,用到空间坐标与屏幕做表的转换,已经使用协同。
Unity3d中世界坐标变换屏幕坐标的过程: 第一步,将坐标点(x, y, z, 1)乘以从世界坐标系到相机坐标系的转换矩阵(World-to-Camera 4x4 Matrix),将坐标点(x, y, z, 1)变换为相机空间(Camera Space)坐标,转换后的...
Unity制作的血条跟随效果,通过坐标转换,把场景内的3D坐标转换为屏幕上的UI坐标,实现UI跟随3D物体的功能
因为鼠标操作是在UI平面上,所以我们要先将被操作的模型的世界坐标转换到屏幕坐标上。代码如下: ModelScreenPos = camera.WorldToScreenPoint(Model.transform.position); 这里有个声明,这个模型代表的是转盘,...
利用WorldToScreenPoint(worldPos)将物体的世界坐标转换成屏幕坐标,实时更新UI的坐标: using UnityEngine; using System.Collections; public class FollowWorldObj : MonoBehaviour { [SerializeField] GameObj
稍后在Unity3D中使用该项目时,我试图使所有内容尽可能地相似。 坐标系与Unity中的坐标系相同:y轴向上,x轴右侧,z轴向前。 欧拉角(用于四元数)的旋转顺序为z,然后x,然后是y。 矢量3 具有x,y,z值的三维向量...
做多媒体项目时,经常会最后来个...讲一下思路,就是不断的将鼠标的屏幕坐标转换成世界坐标,然后用LineRender持续画线,添加到队列中,这样做的好处是可持续撤销误写的笔画,知道全部撤销,重新写。 来来来,鄙人写字
本文实例为大家分享了Unity实现鼠标点2D转3D进行旋转的具体代码,供大家参考,具体内容如下 代码如下: using UnityEngine; public class GunFollowMouse : MonoBehaviour { public RectTransform UGUICanvas; ...
《3D游戏引擎设计实时计算机图形学的应用方法(英文版·第二版)》首先介绍了几何转换和坐标系统等较基础的内容,然后介绍曲线、渲染、效果等高级知识。《3D游戏引擎设计实时计算机图形学的应用方法(英文版·第二版...
World Map Strategy Kit 2是功能...从纬度/经度转换为平面坐标,反之亦然。 - 全面的文档(91页手册)。 - 42个演示场景加上展示关键功能的Youtube教程和示例视频。 -包含100%C#源代码。 -Unity 2018.4+和2019兼容