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

  • 相关阅读:
    LeetCode 1109 航班预定统计
    leetcode 138 复制带随机指针的链表
    maven导入org.apache.pdfbox
    Intellij Idea 通过svn或者git提交代码时速度慢的解决办法
    java LocalDateTime 加减当前时间
    git命令--拉取代码和切换分支
    Intellij IDEA插件Free Mybatis plugin
    MySQL 生成随机字符串 uuid
    最新版Navicat Premium v15.0.26 中文破解
    算法——二分法查找
  • 原文地址:https://www.cnblogs.com/rainmj/p/5414102.html
Copyright © 2011-2022 走看看