Unity坐标系 左手坐标系 图

本文介绍了如何快速记忆三维坐标系的方向。通过简单的手势演示,帮助读者区分左手坐标系与右手坐标系的不同之处,并提供了一种实用的记忆技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

895245-20170921223516587-108760365.png

x轴:从左指向右
y轴:从下指向上
z轴:指向屏幕里的是左手坐标系,指向屏幕外的是右手坐标系

记忆小技巧:都是X轴朝右,Y轴向上,跟平时画坐标一模一样,区别只是Z的朝向。你用手试一下就知道了,当大拇指朝右食指朝上时,剩下三指是自然朝手心方向弯曲的,如果反的话很难受。如果忘了的话就想想平时画图,然后左右手比划一下就记起来了。

转载于:https://www.cnblogs.com/36bian/p/7571727.html

### Unity 中右手坐标系左手坐标系之间的转换 在 Unity 中,默认情况下使用的是左手坐标系。然而,在某些场景下,特别是当与其他软件(如 Blender 或者特定的游戏引擎)交互时,可能需要将数据从右手坐标系转换到左手坐标系,反之亦然。 对于这种需求,并不存在官方推荐的专门插件来完成此操作;但是可以通过编写脚本来实现这一功能。下面是一个简单的 C# 方法,可以用来处理模型导入时的手动坐标系转换: ```csharp using UnityEngine; public static class CoordinateSystemConverter { public static Transform ConvertRightHandedToUnity(Transform transform) { Vector3 position = new Vector3(transform.localPosition.x, transform.localPosition.y, -transform.localPosition.z); Quaternion rotation = new Quaternion(-transform.localRotation.w, transform.localRotation.x, transform.localRotation.y, -transform.localRotation.z); transform.localPosition = position; transform.localRotation = rotation; foreach (Transform child in transform) { ConvertRightHandedToUnity(child); // 对子对象递归调用 } return transform; } } ``` 该方法会遍历传入变换节点及其所有后代节点,调整其位置向量 z 坐标并翻转四元数 w 和 z 分量以适应 Unity左手坐标表示法[^1]。 需要注意的是,上述代码片段仅适用于已加载至场景内的 GameObjects 上的应用程序内转换。如果要针对 Asset 导入过程中的自动转换,则需考虑创建自定义编辑器工具或修改现有的资产管道逻辑[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值