渲染管线—局部坐标到世界坐标的转换

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

局部坐标和世界坐标

世界坐标是指3D空间的坐标系统,当我们制作模型时,并不清楚模型所在的世界的坐标系统是如何规定的,都是使用局部坐标系来建立模型。这样模型制作人员只需要负责好建立自己的模型即可。

转换原理

我们假设使用Model类来抽象一个物体

class Model{
   
   
    Vector3D Position;//物体的在局部坐标系的位置
    Vector3D WordPosition;//物体在世界坐标系的位置
}

我们希望能够得到一个变换矩阵ModelToWord使得物体由局部坐标转换到世界坐标

Matrix4X4 m = GetWorldTransform();
WordPosition = Position * m;

那么GetWorldTransform()该如何实现呢?
假设我们要把Model(modelx, modely,modelz)放到位置(worldx, worldy, worldz)这个位置上,因为模型和世界是以(0,0,0)为原点建立的坐标系,那么只需要将Model平移到该位置即可,反映到代码上即:

WordPosition = (modlex + worldx,modely + worldy,modelz + worldz)

这里我们把平移抽象为一个函数:

public
局部坐标系和世界坐标系的关系 通常矩阵是用4*4表示 其中 a11 a12 a13 通常用来表示物体的x坐标轴信息 a21 a22 a23 通常用来表示物体的y坐标轴信息 a31 a32 a33 通常用来表示物体的z坐标轴信息 a41 a42 a43 通常用来表示物体的原点坐标位置 a14 a24 a34 通常用来表示物体的平移部分 局部坐标系和世界坐标系的关系 当物体在世界坐标系下进行变换位置,需要一个变换矩阵 矩阵*矩阵的逆=单位矩阵 其中 局部坐标系:loaclMtx 世界坐标系:worldMtx . 阅读详情

相关推荐

Unity个人学习——物体的局部坐标->世界坐标转换

世界坐标 (0, 0, 0)物体相对于父物体的坐标(本地坐标/局部坐标)矩阵变换:平移矩阵、旋矩阵、缩放矩阵。

weixin_38844255的博客 1487

局部坐标系到世界坐标系, 向量解奥秘

基底 以X,Y轴为基底 在平面直角坐标系中,我们分别取与X轴、Y轴正方向相同的两个单位向量 i,j 作为一组基底 根据向量加法与数乘运算法则, 其它任意向量可以表示为 a = xi + yj, 简记为 (x, y), 平面直角坐标系中的点变成了相对于原点的向量. 以X1,Y1轴为基底(X1与Y1互相垂直, 两轴交点为原点, X1轴相对于X轴旋了θ) 在这里,我们分别取与X1轴、Y...

weixin_30853329的博客 769

点线面产生局部坐标系以及计算到世界坐标系的旋矩阵

坐标系建立,坐标

闪电彬彬的博客 1444

Transform类的TransformDirection摄像机跟随妙用

今天看网课的时候看到了这个老师用了//计算摄像机与人物的偏移Vector3 offset = transform.position - player.position;.........//计算出摄像机的位置Vector3 targetPosition = player.position +player.TransformDirection(offset);transform.position =...

sicauWuyanzu的博客 1264

3D渲染管线中的坐标变换

3D物体被渲染到屏幕之前,会经历以下的坐标变换: 局部坐标 Local Coordinates 世界坐标 World Coordinates 相机坐标 Camera Coordinates 透视坐标 Perspective Coordinates 屏幕坐标 Screen Coordinates 在不考虑光照计算、着色处理和纹理映射,只考虑几何变换的情况下,3D渲染管线中的坐标变换流程如下: 该变换流程,将3D模型的局部坐标,变换到屏幕坐标。 本文先不考

... 2634

】Unity中的单位长度与像素之间的关系

https://blog.csdn.net/LLLLL__/article/details/88242711 Unity中各种坐标转换

c1sdn19的专栏 1843

从屏幕坐标世界坐标:计算机图形学中的坐标转换实战

本文深入探讨计算机图形学中屏幕坐标系与世界坐标系的转换原理及实战应用。通过分析OpenGL、DirectX等图形API的坐标系差异,结合代码示例展示如何实现高效精准的坐标转换,解决AR/VR开发中的常见问题,并分享性能优化与调试技巧。

cc789的博客 1121

OPenGL 基本知识(根据自己理解整理)

计算机利用OpenGL可以把三维世界中的三维物体,在二维屏幕上显示出来。如下图(来源于网络): OpenGL图形渲染管线(Pipeline)学习 一部摄像机放在视椎体的顶部,也就是视椎体四条线交汇的部分。只有视椎体内部的三维物体才会经过一系列的坐标转换被输出到计算机屏幕上。视椎体是一个矩形底座和顶座被截去顶部的立锥体。视椎体外的红色圆圈和蓝色的部分区域没有显示出来。因为要把三维的物体映射到二维屏幕上,所以需要坐标转换世界坐标:三维物体在现实空间的位置,以XYZ来表示,坐标原点可以自定义;在三维世界的模型

wb175208的专栏 1万+

UE5屏幕坐标世界坐标原理全解:从矩阵求逆到FSceneViewProjectionData,手写自己的Deproject函数

本文深入解析UE5中屏幕坐标世界坐标的核心原理,从矩阵求逆到FSceneViewProjectionData结构体剖析,手把手教你实现自定义的DeprojectScreenPositionToWorld函数。通过详细的数学推导和代码示例,帮助开发者掌握3D渲染中的坐标转换技术,提升游戏开发和图形编程能力。

weixin_30352191的博客 556

OpenGL渲染管线以及二维到三维坐标之间的相互变换

渲染管线 坐标变换 三维坐标到二维坐标的变换 二维坐标到三维坐标的变换 近期项目需要,了解了OpenGL的管线以及二维和三维坐标之间的变换,在此总结一下 渲染管线 OpenGL渲染管线是整个OpenGL学习过程中最基础最重要的东西,虽然写了有一段时间OpenGL,但大部分时间都是在写片段着色器和顶点着色器,并没有对整体的管线进行总结认识,在这里总结一下。注:...

新安浅滩的博客 2837

Unity世界坐标屏幕坐标精准映射全链路解析

世界坐标屏幕坐标3D引擎中基础却极易出错的坐标变换操作,其本质是世界空间→相机视图空间→裁剪空间→屏幕像素空间的四层线性变换过程。理解View Matrix与Projection Matrix的协同作用、NDC标准化设备坐标的齐次除法原理、以及Canvas不同Render Mode下的坐标系偏移机制,是实现精准映射的关键。该技术广泛应用于UI跟随、AR锚点渲染、HUD血条定位、射线交互反馈等场景。本文聚焦Unity引擎,深入拆解WorldToScreenPoint底层行为、常见失效根因(如相机子物体旋

weixin_30378623的博客 681

渲染管线概论

渲染管线(渲染流水线)是将三维场景模型转换到屏幕像素空间输出的过程。图形渲染管线主要包括两个功能:一是将物体3D坐标变为屏幕空间2D坐标,二是为屏幕每个像素点进行着色。

jkkk_的博客 1109

【Unity】Unity 渲染管线中的投影与坐标转换详解:从裁剪空间到屏幕空间

从裁剪空间到屏幕空间的转换过程包括透视除法和屏幕空间映射,这对于渲染中的物体位置和视觉效果至关重要。Unity通过其内置的渲染管线自动完成这一过程,使开发者能够专注于顶点和着色器的编写,而无需关心具体的数学细节。

每日出拳老爷子的博客 498

OpenGL坐标变换

OpenGL坐标变换1. 坐标系统间的变换1.1 局部空间1.2 世界空间1.3 观察空间裁剪空间1.4 屏幕空间1.5 变换矩阵的组合2. 实现3. 渲染部分代码 1. 坐标系统间的变换 在渲染管线中,物体的顶点在最终化为屏幕坐标之前还会被变换到多个坐标系统(Coordinate System)。将物体的坐标变换到几个过渡坐标系(Intermediate Coordinate System)的优点在于,在这些特定的坐标系统中,一些操作或运算更加方便和容易。比较重要的有5个不同的坐标系统: 局部空间(L

牵LV小猪精的博客 2357

【OpenHarmony/HarmonyOS】ArkUI Canvas 2D 游戏引擎实战:世界坐标、摄像机、HUD 与渲染管线

网格坐标表达地图规则;世界坐标表达连续实体运动;屏幕坐标与摄像机负责最终观察;固定渲染顺序表达视觉层级;可见区域裁剪与批处理控制开销;ArkUI 继续承担 HUD 和原生交互。掌握这套坐标和管线后,Canvas 就从一块“画布”变成了真正可扩展的 2D 世界。🌌HarmonyOSArkUICanvas2D游戏ArkTS。

2502_94757980的博客 18

Unity三维坐标转换实战:从核心原理到性能优化

三维坐标转换是计算机图形学和游戏开发中的基础概念,它描述了空间中一个点在不同坐标系下的表示方法。其核心原理是通过矩阵运算,将顶点从模型局部空间依次转换到世界空间、观察空间,最终映射到屏幕空间,这一过程构成了图形渲染管线(如MVP变换)的数学基础。掌握坐标转换的技术价值在于,它不仅是实现物体精准定位、运动控制和交互逻辑(如鼠标拾取)的前提,更是深入理解Shader编程和进行图形性能优化的关键。在Unity开发等实际应用场景中,开发者需要频繁处理世界坐标局部坐标的互、屏幕坐标世界坐标的映射,并应对复杂层级

weixin_34026997的博客 290

Cesium for UE4坐标转换实战:从ECEF到UE世界坐标的精准映射

本文深入解析了Cesium for UE4中坐标转换的核心机制,重点探讨了如何通过CesiumGeoreference Actor实现从ECEF地心坐标系到UE世界坐标的精准映射。文章详细介绍了三种原点放置策略(True Origin、Bounding Volume Center、Cartographic Origin)及其在精度与性能间的权衡,并剖析了底层四个核心转换矩阵的更新逻辑,为构建高精度地理仿真场景提供了实战指南与避坑方案。

weixin_27960253的博客 191

Unity深度纹理:从屏幕像素重构世界坐标实现激光雷达特效

在计算机图形学与游戏开发中,屏幕空间特效(Screen Space Effects)是实现高级视觉表现的核心技术之一。其原理在于利用渲染管线中生成的深度、法线等信息,在后期处理阶段对图像进行再加工。深度纹理(Depth Texture)作为关键数据源,存储了每个像素到相机的非线性距离信息。通过矩阵变换链的逆向工程,可以将2D屏幕坐标与深度值还原为精确的3D世界坐标,这一过程称为世界坐标重构(World Position Reconstruction)。这项技术的核心价值在于,它绕过了物理碰撞检测的限制,能够

dixi7825的博客 386

OpenGL渲染管线坐标系 (二)

本文图片引用自https://learnopengl-cn.readthedocs.io/ 概述: 在OpenGL渲染的整个流程中,共涉及到这几个坐标系:局部坐标系(Object or model coordinates)、世界坐标系(World coordinates)、摄像机坐标系(Eye、Camera coordinates)、裁剪坐标系(Clip coordinates)、屏幕坐标系(...

qq_16983195的博客 688
上一篇: OpenGL + VS2015 + Win10 64位开发环境配置
下一篇: 渲染管线——视图坐标与相机模型
SixDayCoder
博客等级 码龄11年 98粉丝 64原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值