zoukankan      html  css  js  c++  java
  • 【Unity】5.1 3D坐标系基础知识

    分类: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:用于对向量在物体坐标系和世界坐标系之间进行转换。

  • 相关阅读:
    Spark学习笔记2(spark所需环境配置
    Spark学习笔记1(初始spark
    zookeeper基本讲解及基本命令和配置 (转)
    计算机网络面试常考(转载)
    C++面试笔试题汇总
    复杂指针解析
    如何限制一个类对象只在栈(堆)上分配空间?
    虚函数实现机制
    C++内存分配方式详解
    C++中指针和引用的区别(转载)
  • 原文地址:https://www.cnblogs.com/rainmj/p/5414102.html
Copyright © 2011-2022 走看看