Unity3D之坐标变化
来源:互联网 发布:淘宝充话费多久到账 编辑:程序博客网 时间:2024/04/29 20:26
坐标系Unity中的常用坐标系有四种:世界坐标系 我们在场景中添加物体(如:Cube),他们就是以世界坐标系显示在场景中,我们可以用tranform.position来获取。屏幕坐标系 屏幕坐标系是以像素为单位的,以屏幕左下角为(0,0),右上角(scree.width,screen.height)。z的位置以相机的世界位置来衡量。screen.width=Camera.pixelWidth screen.height=Camera.pixelHeight视口坐标系 视口坐标是相对于相机的,相机的左下角为(0,0),右上角为(1,1),z的位置是以相机的世界位置来衡量的。绘制UI坐标系 这个坐标属于屏幕坐标的一种,不同的这个坐标以屏幕的左上角为(0,0),右下角为(screen.width,screen.height)。有关于坐标转换的方法Unity中关于坐标转换的方法常用的有:TransformPoint ():把position从本地坐标转换为世界坐标InverseTransformPoint ():把position从世界坐标转换成本地坐标TransformDirection ():把direction从本地坐标转换成世界坐标InverseTransformDirection ():把direction从世界坐标转换成本地坐标 当我们的主角要搬运一个物体,比如在一个投篮游戏中,我们的主角要携带球,这个时候可以把球的世界坐标转换成相对与主角的本地坐标;然后主角把球抛出去,此时球的坐标集可以从本地坐标转换成世界坐标,并且把球抛出去的方向也是从本地坐标转换成世界坐标。
接下来主要介绍如何将世界坐标系中的向量变换到模型坐标系:
using UnityEngine;using System.Collections;public class PlayerController : MonoBehaviour { public Transform cam; public Vector3 cameraVectorx; public Vector3 cameraVectory;// Use this for initializationvoid Start () { cam = this.transform; cameraVectorx = cam.InverseTransformDirection(1, 0, 0); cameraVectory = cam.InverseTransformDirection(0, 1, 0);}// Update is called once per framevoid Update () { cameraVectorx = cam.InverseTransformDirection(1, 0, 0); cameraVectory = cam.InverseTransformDirection(0, 1, 0); transform.Translate(Input.GetAxis("Horizontal")*Time.deltaTime,0,0); transform.Translate(0,0,Input.GetAxis("Vertical") * Time.deltaTime); if(Input.GetMouseButton(0)) transform.Rotate(cameraVectorx); if (Input.GetMouseButton(1)) transform.Rotate(cameraVectory); }}
0 0
- Unity3D之坐标变化
- 矩阵乘法经典应用之坐标变化
- unity3D坐标
- Unity3D坐标
- canvas学习之坐标的变化和文本的应用
- 二重积分坐标变化
- Unity3D研究院之监听Project视图结构变化的事件
- unity3D游戏开发之Transform的坐标变换注意事项
- Unity3D之获取BoxCollider八个点的世界坐标
- 初学Unity3D Shader之Cube纹理坐标探索
- Unity3d Gis 坐标转换
- Unity3D---坐标学习
- Unity3D坐标转换
- unity3d的坐标总结
- 【Unity3D】坐标转换
- Unity3d Gis 坐标转换
- Unity3D坐标转换
- unity3d 的 坐标系统
- 欢迎使用CSDN-markdown编辑器
- GC 垃圾回收机制彻底理解
- 宅米网性能优化实践——初创互联网公司的野蛮成长
- iOS代码规范 2016版
- Codeforces 611C:New Year and Domino 二维前缀和
- Unity3D之坐标变化
- Matlab中的归一化处理
- 霸气!恒大2015年87张海报 球迷文化深入人心 AE
- 手把手教你学单片机--51单片机C语言开发
- 深度学习与计算机视觉系列(6)_神经网络结构与神经元激励函数
- ListView和Checkbox
- 宅米
- shell脚本编程<三>:test命令
- 关于大型网站技术演进的思考(五):存储的瓶颈