分类:Unity、C#、VS2015

创建日期:2016-04-20

一、简介

在虚拟的游戏世界中,与3D有关的数学知识决定了游戏引擎如何计算和模拟出开发者以及玩家看到的每一帧画面。学习或者回想一下基础的3D有关的数学知识,可以帮助开发者对游戏引擎产生更深刻的了解。

二、坐标系

在游戏开发中,经常会用到不同的坐标系来描述空间中的位置,常用的坐标系有:

1、世界坐标系(World)

用于描述游戏场景内所有物体位置和方向的基准,也称为全局坐标系。

2、局部坐标系(Local)

每个物体都有其独立的物体坐标系,并且随物体进行相同的移动或者旋转,也叫模型坐标系或物体坐标系。

网格模型(mesh)保存的顶点坐标均为局部坐标系下的坐标。

3、相机坐标系(Camera)

根据观察位置和方向建立的坐标系。使用坐标系可以方便地判断物体是否在相机前方以及物体之间的先后遮挡顺序等。

4、屏幕坐标系(Screen)

这是建立在屏幕上的二维坐标系,用来描述像素在屏幕上的位置。即:

屏幕左上角为(0,0);

X轴向右为正方向(从左到右);

Y轴向下为正方向(从上到下)。

三、Unity中不同坐标系之间的转换

在Unity中:Transform组件的以下方法可进行坐标系转换:

Transform.TransformPoint方法:将坐标点从局部坐标系转换到世界坐标系。

Transform.InverseTransformPont方法:将坐标点从局部坐标系转换到世界坐标系。

Transform.TransformDirection和Transform.InverseTransformDirection:用于对向量在物体坐标系和世界坐标系之间进行转换。

【Unity】5.1 3D坐标系基础知识相关推荐

  1. 3D打印机基础知识入门之硬件知识

    目前,3D概念逐渐被越来越多年轻人人所接受,很多年轻人越来越喜欢用 3D打印机做3D打印diy玩具,但是3D打印基础知识还是有必要知道,极光尔沃小编认为下面的知识对你熟练操作3D打印工具是很有帮助的. ...

  2. Unity中的MonoBehaviour脚本-基础知识和继承关系

    本文分享Unity中的MonoBehaviour脚本-基础知识和继承关系 作为一个程序员, 在Unity中开发, 我们接触最多的对象之里一定有MonoBehaviour, 所以作为Unity基础知识学 ...

  3. [Unity workflows] Unity Addressables 教程:学习基础知识

    英文原文:https://thegamedev.guru/unity-addressables/tutorial-learn-the-basics/ 欢迎来到这个 Unity Addressables ...

  4. 【新手向】Unity 2020 + SteamVR 2.x 基础知识

    本文将以Unity 2020为编辑器,介绍新版SteamVR的变化.相关操作背后的原理.以及在Unity 2020中使用该插件需要注意的细节,本文内容部分来自视频课程<SteamVR 2.x 交 ...

  5. 【Unity】6.1 Unity中的C#脚本基础知识

    分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 1.常用的C#数据类型 这里简单介绍用Unity开发游戏时,最常用的一些数据类型. (1)基本类型 int.float. ...

  6. 作为测绘人,你必须知道的几大坐标系基础知识!

    1.北京54坐标系 中国成立以后,我国大地测量进入了全面发展时期,在全国范围内开展了正规的,全面的大地测量和测图工作,迫切需要建立一个参心大地坐标系.由于当时的"一边倒"政治趋向, ...

  7. 【unity学习记录】TileMap基础知识(详细版)

  8. Unity3D游戏开发初探—2.初步了解3D模型基础

    一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被. ...

  9. 前端地图分类(包括坐标系,GIS基础知识,2D与3D地图结构划分)

    前端地图分类(包括坐标系,GIS基础知识,2D与3D地图结构划分) 经度:longitude(lng, 0 < lng < 180) 纬度:latitude(lat, 0 < lat ...

最新文章

  1. 计算机视觉——自动识别车牌简介
  2. LINUX 使用tcgetattr函数与tcsetattr函数控制终端三
  3. Java技术分享:void的用法和意义
  4. boost::pool模块实现验证是否 malloc/free 宏一切仍然正常的测试程序)
  5. 浅谈async、await关键字 = 深谈async、await关键字
  6. 新版火狐浏览器怎么调整字体 火狐浏览器字体调整技巧分享
  7. kubernetes apiserver认证 1
  8. 详解如何挑战4秒内百万级数据导入SQL Server(转)
  9. mysql or 速度_mysql中or和in的效率问题
  10. Colab+Google使用教程
  11. 主流漫游技术-OKC802.11r介绍
  12. 【tensorrt】——error: #error The version of CUB in your include path is not compatible with this releas
  13. APP游戏运营:如何运用数据来指导手游运营
  14. 元气骑士最新版全武器图鉴【支持搜索】(截至2022年4.0版本)
  15. 微信小程序模仿拼多多APP地址选择样式
  16. The container name /mysql is already in use by container
  17. border-radius 圆角 ios 失效
  18. 下连队锻炼(5)----抗洪
  19. java 四分位距算法和标准差
  20. trt 使用trtexec工具ONNX转engine

热门文章

  1. 步步为营 .NET 代码重构学习笔记 九
  2. Sublime Text3常用插件以及安装方法(实用)
  3. Swift教程之控制流
  4. linux网络编程-posix信号量与互斥锁(39)
  5. 20170307-1
  6. C语言中的位运算和逻辑运算
  7. ThreadPool基础之RegisterWaitForSingleObject
  8. Hadoop Hive迁移至MaxCompute
  9. Support:Tenjeafan@163.com
  10. 每天进步:2014年10月几篇