Unity坐标系】的更多相关文章

Unity引擎时非常成熟的,引擎内部运用了很多的数学知识,他对开发者来说是不可见的,而且他已经封装好的算法也不是很全面.此外,要是使用引擎封装好的算法也要明白其实现的原理. 写过一些代码,也参考了一些博客,书籍,想就此记录总结一下的自己所学到的东西,也给大家分享一下. 而我主要想从这五个方面来简要说说,分别是Unity坐标系,向量,矩阵,四元数,欧拉角.这篇先来介绍第一个. 在介绍Unity的坐标系钱,我想先谈谈3D坐标系,表示的是三维空间,它存在着三个坐标轴,分别是X轴,Y轴,Z轴.3D坐标系…
在Unity中我们通常会用到以下几个坐标系下的点: 世界坐标系:World Space 简单来讲,我们通过 transform.position | transform.rotation 获取得到的位置和旋转信息都是基于世界坐标系的,可以说,我们的很大一部分操作都是基于世界坐标系. 观察坐标:Eye Space 我们在Unity的Game视图中观察的画面始终是由摄像机提供的,基于摄像机的一个坐标系也就是"Eye Space"(简单来讲就是把摄像机看作原点位置). 视口坐标:View P…
一.坐标系的概念 Unity 世界坐标系采用左手坐标系,大拇指指向X轴(红色),食指指向Y轴(黄色),中指向手心方向歪曲90度表示Z轴(蓝色),同时Z轴也是物体前进方向,下图表示Unity的四种坐标系: 其中GUI和Screen的单位是像素单位,什么是像素单位呢,这里可以先了解一下像素相关知识: 像素:简单地来说,可以理解成一个方块,它是图像的最小单元,不能再分割,但它并没有固定的大小. 屏幕分辨率:指的是由像素组成的点阵,比如说一台电脑的屏幕分辨率为1920*1080,那么该电脑屏幕在横向有1…
Unity 使用的是左手坐标系…
Unity 使用的是左手坐标系…
1. World Space(世界坐标系): 我们在场景中添加的物体(如:Cube),他们都是以世界坐标显示在场景中.transform.position 获取的便是这个 坐标数值. 2. Scene Space(屏幕坐标系): 以像素来定义的,一屏幕的左下角为(0,0)点,右上角为(Screen.with,Screen.height),Z轴的位置是以相机的世界单位来衡量的(个人感觉是世界坐标的Z值). 2.1 鼠标位置属于屏幕坐标,Input.mousePosition 可以获得该位置坐标.…
x轴:从左指向右 y轴:从下指向上 z轴:指向屏幕里的是左手坐标系,指向屏幕外的是右手坐标系 记忆小技巧:都是X轴朝右,Y轴向上,跟平时画坐标一模一样,区别只是Z的朝向.你用手试一下就知道了,当大拇指朝右食指朝上时,剩下三指是自然朝手心方向弯曲的,如果反的话很难受.如果忘了的话就想想平时画图,然后左右手比划一下就记起来了.…
1.坐标系分为左手坐标系和右手坐标系 2.用手从X轴旋到Y轴画一个弧,如果大拇指所指的方向是Z轴,那么这个坐标系就是这只手的坐标系 3.Unity是左手坐标系,OpenGl是右手坐标系 Unity坐标系中可以分3种 1.世界坐标系,场景视图整个世界的坐标系 2.模型坐标系,某个物体自己的坐标系 3.摄像机坐标系,通过公式换算,把三维世界里面的物体坐标,投影到游戏视图的二维视图上的时候,转换来的坐标,根据公式Z1/Z=X1/X=Y1/Y…
说明: 注意几点: 0 行向量右乘矩阵与列向量左乘矩阵,两个矩阵互为逆矩阵 1 法线转换与mul,mul函数左乘矩阵当列矩阵计算,右乘当行矩阵计算 2 叉乘与左右手系,左手系用左手,右手系用右手,axb四指指向a,向b旋转(沿小与两个角度180的方向转),拇指的方向是叉乘方向 3 unity观察系的z方向,unity观察系是右手系,其他都是本地坐标,世界坐标,投影坐标都是左手系,所以观察系轴反向 4 投影系中w与uv伸展方向关系,w=1或-1 uv伸展正向或反向 http://blog.csdn…
佩戴HoloLens的多个用户可以使用场景共享特性来获取集合视野,并可以与固定在空间中某个位置的同一全息对象进行交互操作.这一切是通过空间锚共享(Anchor Sharing)来实现的. 为了使用共享服务,在AppxManifest文件中必须要启用SpatialPerception能力. Anchor Sharing 空间锚共享 在HoloLens扫描空间环境后,用户可以通过手动或者编程来选择建立一些空间锚.空间锚对象的信息的可以被序列化并传递给其他HoloLens设备,每一个设备都可以反序列化…
其实三维的和二维的基本差不多,一样的运算方式,unity已经把所有的方法都封装起来,主要是理解,能理解了就直接调用了 三角函数 知识点:三角函数基础正玄余玄.三角函数曲线.弧度制和角度制.弧度制和角度制的互相转换: 三角函数曲线: 弧度制: 角度和弧度转换 坐标系 知识点:一维二维三维坐标系.Unity所采用的左手坐标系: 向量.矢量 知识点:什么是向量.向量在Unity坐标系中的表示 向量是没有位置的,只有大小和方向,向量可以进行任意的平移: 单位向量 : 长度为1的向量 0向量:方向为任意方…
在游戏的开发过程中,程序员不太会自己去写shader,因为写起来很麻烦,而且只有Unity会报错,编译器也没有什么提示. 通常是拿别人的shader改一改,当然,程序员还是要能看懂和会一点shader Unity坐标系转换 1: transform.localToWorldMatrix 局部转世界的矩阵;2: transfrom.worldToLocalMatrix 世界坐标转局部坐标矩阵; MultiplyPoint, MultiplyPoint3x4 MultiplayVector 来进行坐…
感觉可以写3D游戏,还是用C#,很好玩的样子.整理最近学习资料 介绍:游戏引擎,可以用C#配置的游戏引擎.嗯,就这样.其余度娘. 安装:官网,因为现在个人版是免费的.直接官网下.干净利落. 调试插件:Visual Studio 2015 Tools for Unity .功能:就是调试的时候可以附加到unity编辑器进程.方便.记得安装的时候关闭unity和VS.详细教程 Unity界面介绍:详细教程 Unity坐标系介绍:详细教程 Unity学习网站:Unity圣典,Unity学习网. Uni…
简介 这一篇还是一些基本的shader操作:裁剪.透明和法向量的应用 (纠结了很久写不写这些,因为代码很简单,主要是些概念上的东西) 先来看下大概的效果图:(从左到右依次是裁剪,透明,加了法向量的透明) (好奇怪,为啥我字那么多,提示我少于150字) 裁剪 代码 Shader "LT/Lesson3_Cull" { Properties { _Color ("Color", Color) = (1, 1, 1, 1) } SubShader { Pass { Cul…
从昨天开始遇到一个看似很小,但令我苦恼的问题,由于对Unity的坐标系没有直接搞清楚,所以导致一个shader没看懂,于是发了个贴:http://game.ceeger.com/forum/read.php?tid=11367&fid=2,结果到晚上终于搞明白了,心情大好,趁热分享. 因为实在是懒得再重新写一遍了,我就把原帖子抄一遍: 一楼: 大家好,我是unity新手,在研究ShadowGun提供的shader,其中建筑使用的高光shader:“MADFINGER-Lightmap- Unli…
maya软件是用的右手坐标系,默认旋转顺序是ZYX,即先绕Z轴旋转,再绕Y轴旋转,最后绕X轴旋转. 比如在maya软件中,右侧的旋转顺序是可选的,默认的选择是“XYZ”,其实物体旋转顺序是倒着念,即上面所说的ZYX旋转顺序. 有兴趣的朋友可以进行验证. Unity软件是用的左手坐标系,旋转顺序是YXZ(貌似不能更改),即先绕Y轴旋转,再绕X轴旋转,最后绕Z轴旋转. 在上面的两个图中,由MAYA的模型导出FBX格式,然后再导入到Unity中,选中的是同一个关节:Jamie_R_Thumb_1 其在…
分类:Unity.C#.VS2015 创建日期:2016-04-20 一.简介 在虚拟的游戏世界中,与3D有关的数学知识决定了游戏引擎如何计算和模拟出开发者以及玩家看到的每一帧画面.学习或者回想一下基础的3D有关的数学知识,可以帮助开发者对游戏引擎产生更深刻的了解. 二.坐标系 在游戏开发中,经常会用到不同的坐标系来描述空间中的位置,常用的坐标系有: 1.世界坐标系(World) 用于描述游戏场景内所有物体位置和方向的基准,也称为全局坐标系. 2.局部坐标系(Local) 每个物体都有其独立的物…
分类:Unity.C#.VS2015 创建日期:2016-04-20 一.简介 这一张主要介绍3D坐标系的基础知识以及各种形状的天空盒. 二.示例 本章的示例都在ch05Demos工程下.…
前言 本篇文章主要是参考<Unity API 解析>---陈泉宏. 这是本人在学校图书馆找到一本书,主要介绍的就是常用的类,比较实用,没有冗余的地方.在此推荐一下这本书! 一.ScreenToViewportPoint方法 1.函数原型 public Vector3 ScreenToViewportPoint(Vector3 position); 其中参数position为屏幕参考点. 2.功能说明 可以实现坐标点position从屏幕坐标系向摄像机视口的单位化坐标系转换.参考点positio…
1, World Space(世界坐标): 我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的.transform.position可以获得该位置坐标. 2, Screen Space(屏幕坐标): 以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的. 注:鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.Ge…
当调用别人的接口时,经常会有获取位置或向量的接口.遇到这些数据时,先要弄清楚现在获取的数据在哪个坐标系下的. 是否需要进行坐标系变换,一般提供的位置和向量都是在世界坐标系的,此时需要注意: ①对方的坐标系是左手坐标系还是右手坐标系 因为Unity是左手坐标系,如果接口提供的数据是基于右手坐标系的话,我们需要把z值取反后,看起来的效果才是正常的. ②如果我们通过接口拿到的数据,我们想把它跟随场景中“Camera Rig”物体移动和旋转 为了实现“Camera Rig”物体移动我们拿到的位置也跟着移…
  全局坐标系 描述游戏场景内所有物体位置和方向的基准,也称为世界坐标系.在Unity场景中创建的物体都是以全局坐标系中的坐标原点(0,0,0)来确定各自的位置的. 局部坐标系 每个物体都有其独立的坐标系,并且随物体进行相同的移动或者旋转,也称为模型坐标系或物体坐标系.模型mesh的Transform保存的Position.Rotation和Scale都是相对于父类GameObject,父子物体的坐标系是关联的,此时子物体会以父物体的坐标点为自身的坐标原点.…
坐标空间 1:物体空间: 3D物体自己的坐标空间 一般设计时几何体以中心为原点,人物以双脚为原点; 2: 世界空间: 3D物体在场景中的世界坐标, 整个游戏场景的空间; 3: 摄像机空间: 以观察摄像机为原点的坐标系下的坐标空间; 4: 投影成像 3D坐标转换到屏幕空间;…
世界坐标: transform.position获取的是世界坐标 屏幕坐标: 单位像素 屏幕左下角(0,0)右上角(Screen.width,Screen.height) Screen.width = Camera.main.pixelWidth; Screen.height = Camera.main.pixelHeight; 可通过Input.mousePosition获取屏幕坐标 视口坐标: 屏幕左下角(0,0)右上角(1,1) 视口坐标是一个3D坐标,z轴是相对于相机而言. GUI坐标:…
Unity3D Script API : Camera 若干文章: 1.Screen VS Viewport What is the difference 2.Screen,Viewport有什麽區別 3.<Unity3D>Unity3D的四种坐标系 4.Unity’s screen point, viewport point and world point…
今天看一下unity3d里面的摄像机是怎么调用和操作的. 打开unity3d新建一个工程.在我们打开工程的时候unity3d会主动添加一个Main Camera,在Hierartchy视图中.点击Main Camera在Inspector中出现Main Camera的组件信息.如图 在camera组件中可以对是相机的一些属性进行调节. Clera Flags:清除标记.下拉菜单一共有4个选项. Skybox:天空盒,背景显示天空盒.如果该相机没有添加天空和则显示背景颜色.Solid Color:…
http://www.cnblogs.com/wywnet/p/3585075.html Vector3:  Unity3D中Vector3类定义(只写有用的):  属性:  x,y,z                表示一个空间向量.  this                       用于访问x,y,z三个数据使用数组的方式访问,比如[0][1][2]  normalized            返回单位化向量后的值(只读).单位化向量是个很重要的概念,他常常是各种计算的基点,他保证了…
Unity提供了大量的设置选项来满足全平台的配置,对于HoloLens,Unity可以通过切换一些特定的设置来启用HoloLens特定的行为. Holographic splash screen 闪屏 为了启用特定的闪屏,打开Edit > Project Settings... > Player菜单,Windows Store标签页下更改Splash Image > Show Unity Splash Screen 和 Windows Holographic > Holograph…
前文完成了最基本的镜面反射着色器,单平行光源下的逐顶点着色(per-vertex lighting),又称为古罗着色(Gouraud shading).这篇文章作为后续讨论更光滑的镜面反射方式,逐像素着色(per-pixcel lighting),又称为冯氏着色(Phong shading) 逐像素着色Per-Pixel Lighting (冯氏着色Phong Shading) 别把冯氏着色与冯氏反射模型搞混淆了,前问提到了冯氏反射模型,冯氏反射模型是为使计算机模拟接近真实的物体表面光泽提出的模…
转自http://www.itnose.net/detail/6117338.html 前文中完成最简单的漫反射shader只是单个光源下的漫反射,而往往场景中不仅仅只有一个光源,那么多个光源的情况下我们的物体表面的漫反射强度如何叠加在一起呢?前文打的tag "LightMode"="ForwardBase"又是什么意思呢? Unity内置的DiffuseShader,也就是我们创建一个Material出来时默认的Shader也是多光源的,所以这篇文章完成的shad…