游戏蛮牛学习群(纯技术交流,不闲聊):539178957
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2259

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 1245|回复: 15

[海莉zhe] 【每日一记】Unity3D 实战练习- 浅析Unity 坐标系 (十一)【小白篇】

[复制链接]  [移动端链接]
排名
669
昨日变化
1

64

主题

227

帖子

2822

积分

Rank: 9Rank: 9Rank: 9

UID
76890
好友
80
蛮牛币
4052
威望
0
注册时间
2015-3-4
在线时间
1015 小时
最后登录
2018-7-17

专栏作家

发表于 2018-6-28 13:48:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
           其实说到unity3d的坐标系,虽然是基础的知识,但是对于刚开始接触unity3d的小白来説,总会觉得有些混乱。所以今天小编和一起浅析其中的原理。

           1.unity3d 常用四种坐标系的基本概念:
            
              1.0  World Space(世界坐标) -文档:https://docs.unity3d.com/ScriptReference/Space.World.html
                   1.0.0 在我们场景有一个GameObject 对象,这个对象的世界坐标是针对整个场景来説的,获取对应的坐标:tranform.position
                    tranform.position 从场景中心(0,0)的位置开始计算,单位长度也是一样的,相对于场景中心(0,0)的距离,也是获取世界坐标的方法。
                    
                   1.0.1 轴向区分
                     X 轴:左负右正
                     Y 轴:上正下负
                     Z 轴:里正外负

                     
                    1.0.2 局部坐标: tranform.localPosition,局部坐标都是相对于父容器坐标的。
                    
                  
              1.1 Screen Space(屏幕坐标)
                     以像素来定义,以屏幕的左下角(0,0),右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。

              1.2 绘制GUI 界面的坐标系
                     这个坐标系和屏幕坐标系相似,不同的是该坐标系以屏幕的左上角为(0,0)点,右下角为(Screen.width,Screen.height)

              1.3 ViewPort Space(视口坐标)
                     视口坐标是相对于相机的,相机的左下角(0,0)点,右上角为(1,1)点,Z的位置是以相机的世界单位来衡量的。


             2.坐标轴的转换,下面我们通过直接写代码来理解吧!

                  
[C#] 纯文本查看 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CoordinateSystemTest : MonoBehaviour {

	public Camera CurrentCamera; 

	void OnGUI()
	{

		if (CurrentCamera == null) {
			Debug.Log ("相机为Null");
			return;
		}
		GUI.Label (new Rect (300, 50, 100, 100), "坐标变换");

		GUI.Label (new Rect (100, 100, 100, 100), "1.世界坐标:");
		GUI.Label (new Rect (200, 100, 200, 100), transform.position.ToString ());

		GUI.Label (new Rect (100, 150, 100, 100), "2.局部坐标:");
		GUI.Label (new Rect (200, 150, 200, 100), transform.localPosition.ToString ());

		GUI.Label (new Rect (100, 200, 100, 100), "3.世界坐标->屏幕坐标:");
		GUI.Label (new Rect (200, 200, 200, 100), CurrentCamera.WorldToScreenPoint(transform.position).ToString());

		GUI.Label (new Rect (100, 250, 100, 100), "4.世界坐标->视口坐标:");
		GUI.Label (new Rect (200, 250, 200, 100), CurrentCamera.WorldToViewportPoint(transform.position).ToString());

		GUI.Label (new Rect (100, 300, 100, 100), "5.屏幕坐标->视口坐标:");
		GUI.Label (new Rect (200, 300, 200, 100), CurrentCamera.ScreenToViewportPoint(transform.position).ToString());

		GUI.Label (new Rect (100, 350, 100, 100), "6.屏幕坐标->世界坐标:");
		GUI.Label (new Rect (200, 350, 200, 100), CurrentCamera.ScreenToWorldPoint(transform.position).ToString());

		GUI.Label (new Rect (100, 400, 100, 100), "7.视口坐标->屏幕坐标:");
		GUI.Label (new Rect (200, 400, 200, 100), CurrentCamera.ViewportToScreenPoint(transform.position).ToString());

		GUI.Label (new Rect (100, 450, 100, 100), "8.视口坐标->世界坐标:");
		GUI.Label (new Rect (200, 450, 200, 100), CurrentCamera.ViewportToWorldPoint(transform.position).ToString());

	}
}

               1_0.jpeg

评分

参与人数 1鲜花 +1 收起 理由
heimwjwzero + 1 很给力!

查看全部评分


回复

使用道具 举报

7日久生情
3055/5000
排名
2420
昨日变化
7

0

主题

2081

帖子

3055

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
219676
好友
1
蛮牛币
2492
威望
0
注册时间
2017-7-12
在线时间
438 小时
最后登录
2018-7-18

活力之星

发表于 2018-6-28 18:01:28 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
593/1000
排名
3692
昨日变化
18

0

主题

97

帖子

593

积分

Rank: 5Rank: 5

UID
232255
好友
1
蛮牛币
1047
威望
0
注册时间
2017-7-15
在线时间
134 小时
最后登录
2018-7-18
发表于 2018-6-29 08:10:33 | 显示全部楼层
谢谢分享
[发帖际遇]: 之乎者也 在论坛发帖时没有注意,被小偷偷去了 2 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

5熟悉之中
823/1000
排名
5383
昨日变化
4

0

主题

426

帖子

823

积分

Rank: 5Rank: 5

UID
146677
好友
9
蛮牛币
2690
威望
0
注册时间
2016-4-25
在线时间
161 小时
最后登录
2018-7-13
QQ
发表于 2018-6-29 10:12:15 | 显示全部楼层
谢谢分享
[发帖际遇]: LiuBen 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

3偶尔光临
263/300
排名
6399
昨日变化
44

0

主题

14

帖子

263

积分

Rank: 3Rank: 3Rank: 3

UID
158534
好友
0
蛮牛币
1820
威望
0
注册时间
2016-7-24
在线时间
61 小时
最后登录
2018-7-18
发表于 2018-6-29 10:35:46 | 显示全部楼层
很实用的好帖,谢谢分享

回复 支持 反对

使用道具 举报

排名
983
昨日变化
1

15

主题

1095

帖子

2950

积分

Rank: 9Rank: 9Rank: 9

UID
68430
好友
12
蛮牛币
10459
威望
0
注册时间
2015-1-14
在线时间
790 小时
最后登录
2018-7-18
发表于 2018-6-29 10:40:56 | 显示全部楼层
实用·~~~~

回复

使用道具 举报

4四处流浪
314/500
排名
9592
昨日变化
107

0

主题

166

帖子

314

积分

Rank: 4

UID
281167
好友
0
蛮牛币
560
威望
0
注册时间
2018-5-14
在线时间
44 小时
最后登录
2018-7-17

一贫如洗

发表于 2018-6-29 13:58:08 | 显示全部楼层
感谢分享
[发帖际遇]: 3084 乐于助人,奖励 2 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

4四处流浪
408/500
排名
11430
昨日变化
160

2

主题

243

帖子

408

积分

Rank: 4

UID
282383
好友
0
蛮牛币
327
威望
0
注册时间
2018-5-23
在线时间
85 小时
最后登录
2018-7-18
发表于 2018-6-29 17:09:31 | 显示全部楼层
66666666666666 6 66666666666 6 6 6 6 6

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1321/1500
排名
3999
昨日变化
22

1

主题

807

帖子

1321

积分

Rank: 6Rank: 6Rank: 6

UID
119154
好友
0
蛮牛币
1255
威望
0
注册时间
2015-8-21
在线时间
181 小时
最后登录
2018-7-18
发表于 2018-6-30 08:29:22 | 显示全部楼层
谢谢楼主大大。

回复

使用道具 举报

5熟悉之中
818/1000
排名
2546
昨日变化
10

6

主题

90

帖子

818

积分

Rank: 5Rank: 5

UID
131585
好友
0
蛮牛币
1703
威望
0
注册时间
2015-12-13
在线时间
210 小时
最后登录
2018-7-18
发表于 2018-7-1 12:34:01 | 显示全部楼层

回复

使用道具 举报

5熟悉之中
504/1000
排名
5630
昨日变化
4

2

主题

140

帖子

504

积分

Rank: 5Rank: 5

UID
252889
好友
1
蛮牛币
1750
威望
0
注册时间
2017-11-6
在线时间
142 小时
最后登录
2018-7-13
QQ
发表于 2018-7-2 09:03:47 | 显示全部楼层

回复

使用道具 举报

4四处流浪
471/500
排名
7453
昨日变化
67

0

主题

216

帖子

471

积分

Rank: 4

UID
279508
好友
0
蛮牛币
918
威望
0
注册时间
2018-5-2
在线时间
101 小时
最后登录
2018-7-18
发表于 2018-7-2 09:15:39 | 显示全部楼层
感谢分享
[发帖际遇]: h5n188332253 在网吧通宵,花了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
2380/5000
排名
2926
昨日变化
6

0

主题

1677

帖子

2380

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
185339
好友
0
蛮牛币
3467
威望
0
注册时间
2016-11-20
在线时间
251 小时
最后登录
2018-7-18
发表于 2018-7-2 09:18:37 | 显示全部楼层

回复

使用道具 举报

4四处流浪
471/500
排名
7453
昨日变化
67

0

主题

216

帖子

471

积分

Rank: 4

UID
279508
好友
0
蛮牛币
918
威望
0
注册时间
2018-5-2
在线时间
101 小时
最后登录
2018-7-18
发表于 2018-7-2 09:20:16 | 显示全部楼层

感谢分享

回复

使用道具 举报

5熟悉之中
640/1000
排名
3948
昨日变化
22

1

主题

112

帖子

640

积分

Rank: 5Rank: 5

UID
236305
好友
1
蛮牛币
905
威望
0
注册时间
2017-8-7
在线时间
193 小时
最后登录
2018-7-18
发表于 2018-7-2 10:01:39 | 显示全部楼层
复习复习 谢谢分享~

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表