zoukankan      html  css  js  c++  java
  • (转载)(官方)UE4--坐标空间术语

    坐标空间术语

     

    空间

     

    虚幻引擎中的坐标空间

    别名

    描述

    Tangent(切线空间)

     

    为正交坐标系(插值后将发生偏移),可为左手或右手坐标系。 TangentToLocal(切线空间到局部空间)变换仅包含旋转变换,因此它是标准正交坐标系(可通过转置变换进行反转)。

    Local(局部空间)

    Object Space(对象空间)

    为正交坐标系,可为左手或右手坐标系(需调整三角面剔除次序)。LocalToWorld(局部空间到世界空间)变换包含旋转变换、非等比缩放变换(包括改变旋绕顺序的非等比负值缩放)以及平移变换。

    World(世界空间)

     

    WorldToView(世界空间到视角空间)变换仅包含旋转和平移,所以View(视角)空间中的距离和World(世界)空间中的距离一样。

    TranslatedWorld(平移的世界空间)

     
     

    World(世界空间)

    TranslatedWorld(平移的世界空间) - PreViewTranslation(在视变换之前进行的平移变换)

    TranslatedWorld(平移的世界空间)

    World(世界空间) + PreViewTranslation(在视变换之前进行的平移变换)

    平移矩阵用于从组合变换矩阵开始移动相机位置,这提高了移动顶点时的精确度。

    View(观察空间)

    CameraSpace(相机空间)

    ViewToClip(观察空间到裁剪空间)变换包括X、Y轴上的缩放变换,但不包括平移变换 (这将造成投影偏离中心)。可在Z轴上缩放以及平移。通过投影变换将它转为齐次ClipSpace(裁剪空间)。

    Clip(裁剪空间)

    HomogeniousCoordinates(齐次坐标系), PostProjectionSpace(后投影空间), , ProjectionSpace(投影空间)

    以透视投影矩阵进行变换后的空间。 注意裁剪空间中的W和视察控件中的Z一样。

    Screen(屏幕空间)

    OpenGL 的 NormalizedDeviceCoordinates(规格化设备坐标系)

    在透视除法完成之后:

     

    左侧/右侧

    -1,1

    顶部/底部

    1,-1

    近/远

    0,1 (OpenGL RHI需要把这个值变换为 -1,1)

    Viewport(视口空间)

    ViewportCoordinates(视口坐标系), WindowCoordinates(窗口坐标系)

    以像素为单位:

     

    左侧/右侧

    0, 宽度-1

    顶部/底部

    0,高度-1

    空间变换

    空间变换命名应该使用这样的格式: X To Y 。

    示例:

    • WorldToView

    • TranslatedWorldToView

    • TangentToWorld

  • 相关阅读:
    最简单跨平台的日志库
    linux文件锁
    Linux 获取屏幕分辨率与窗口行列数(c/c++)
    linux 信号机制
    记一次函数异常(getopt_long)
    程序单实例运行
    简单地 Makefile 书写
    学习go的一些笔记
    20200930 10. Netty 核心源码剖析
    20200930 9. TCP 粘包和拆包 及解决方案
  • 原文地址:https://www.cnblogs.com/wodehao0808/p/8110449.html
Copyright © 2011-2022 走看看