unity3d 3d场景中人物的2d头像/血条位置计算
2015-04-24 12:13
495 查看
整体思想其实很简单,第一次写博客 所以大家多多原谅吧
获得人物在场景中的世界坐标位置, 一般情况下 会沿着摄像机的向上的方向上做一些偏移 就确定了头像/血条在3d世界坐标系中的位置
用场景的摄像机把世界坐标位置转换到屏幕坐标系
用2d摄像机把屏幕坐标系转移到2d显示的世界坐标系
听起来比较糊涂, 直接上代码
Vector3 worldPos = GetRoleWorldPosition();
worldPos += scene.Camera3D.transform.up * headerOffset;
Vector3 screenPos = scene.Camera3D.WorldToScreenPoint(worldPos);
Vector3 worldUIPos = scene.Camera2D.ScreenToWorldPoint(screenPos);
获得人物在场景中的世界坐标位置, 一般情况下 会沿着摄像机的向上的方向上做一些偏移 就确定了头像/血条在3d世界坐标系中的位置
用场景的摄像机把世界坐标位置转换到屏幕坐标系
用2d摄像机把屏幕坐标系转移到2d显示的世界坐标系
听起来比较糊涂, 直接上代码
Vector3 worldPos = GetRoleWorldPosition();
worldPos += scene.Camera3D.transform.up * headerOffset;
Vector3 screenPos = scene.Camera3D.WorldToScreenPoint(worldPos);
Vector3 worldUIPos = scene.Camera2D.ScreenToWorldPoint(screenPos);
相关文章推荐
- Unity3D NGUI制作的Button放到场景中,按钮从2D变到3D
- unity3d学习笔记(十九)--ngui制作3d人物头顶的头像和血条
- Unity3D中2DUI跟随场景中3D物体
- unity3d设置3D模型显示在2D背景之前(多个相机分层显示)(转)
- [Unity3D]Unity3D游戏开发之在3D场景中选择物体并显示轮廓效果
- unity3d中场景切换人物动画
- Unity3D教程:将3D坐标转成2D坐标的方法
- unity3D(基于UGUI)网络游戏正在开发中 <一>"最近用UGUI做人物血条"
- Unity3D 利用character controller控制人物在场景中移动和利用Navmesh Agent设置人物自动寻路
- Unity3D研究院之人物头顶名称与血条更新与绘制一(转)
- 改进版 对于2D/3D空间的元素坐标计算 (Matlab)
- Unity3D中如何计算场景中的三角面和顶点数
- 用单张2D图像重构3D场景
- 强大的游戏开发工具Unity3D推出2D开发工具,unity将混合3D与2D开发
- 【unity3d】2D场景下的物体移动
- Unity3d人物的名称与血条的绘制方法
- 用3D技术实现2D场景
- Android开发之Eclipse嵌入Unity3D开发的3D场景
- 用单张2D图像重构3D场景
- Unity3D之NGUI的5种点击事件的实现方式及在3D场景中点透的情况