尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

游戏父子节点与坐标转换完整指南

游戏父子节点与坐标转换完整指南 开场上个月做角色武器系统时踩了个大坑:角色挥剑时,武器总是和手部错位。一开始以为是动画问题,查了半天 Animator 才发现:武器挂错了节点,而且挂载时把世界坐标当本地坐标直接赋值,父节点一动,武器就飞到了十万八千里。这个 bug 暴露的是对坐标系统的理解不够深。今天把游戏开发中的父子节点与坐标转换彻底梳理一遍:从基础概念,到变换矩阵的数学原理,再到引擎内部的计算时机,最后是工程上最容易翻车的点。一、核心概念1.1 世界坐标与本地坐标游戏场景中每个物体都有两套坐标描述:世界坐标(World Space):全场景统一的绝对位置,就像经纬度——谁都认,唯一标识。本地坐标(Local Space):相对于父节点的位置,「我在我爸的哪个方向、多远」。Unity 中通过transform.position读写世界坐标,通过transform.localPosition读写本地坐标。旋转和缩放同理(rotation/localRotation、lossyScale/localScale)。父子节点是引擎组织场景的核心方式:角色是父节点,头、手、脚是子节点。父节点移动旋转,所有子节点自动跟随——骨骼动画、载具乘员、UI 布局靠的都是这套机制。1.2 父子节点层级结构编辑器里把物体 A 拖到物体 B 下面
返回列表