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

扫一扫,访问微社区

开发者专栏

关注:2313

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

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

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

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

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

67

主题

234

帖子

3025

积分

Rank: 9Rank: 9Rank: 9

UID
76890
好友
87
蛮牛币
4311
威望
0
注册时间
2015-3-4
在线时间
1092 小时
最后登录
2018-9-20

专栏作家

发表于 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日久生情
3236/5000
排名
2064
昨日变化
12

0

主题

2116

帖子

3236

积分

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

UID
219676
好友
1
蛮牛币
2406
威望
0
注册时间
2017-7-12
在线时间
492 小时
最后登录
2018-9-20

活力之星

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

回复

使用道具 举报

5熟悉之中
703/1000
排名
3105
昨日变化
16

0

主题

104

帖子

703

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
838/1000
排名
5473
昨日变化
5

0

主题

433

帖子

838

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
419/500
排名
4519
昨日变化
45

0

主题

21

帖子

419

积分

Rank: 4

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

回复 支持 反对

使用道具 举报

排名
871
昨日变化
4

16

主题

1126

帖子

3139

积分

Rank: 9Rank: 9Rank: 9

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

回复

使用道具 举报

4四处流浪
429/500
排名
8044
昨日变化
7

0

主题

223

帖子

429

积分

Rank: 4

UID
281167
好友
1
蛮牛币
848
威望
0
注册时间
2018-5-14
在线时间
64 小时
最后登录
2018-8-21
发表于 2018-6-29 13:58:08 | 显示全部楼层
感谢分享
[发帖际遇]: 3084 乐于助人,奖励 2 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

5熟悉之中
512/1000
排名
9365
昨日变化
2

2

主题

291

帖子

512

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

7日久生情
1883/5000
排名
3123
昨日变化
26

1

主题

1198

帖子

1883

积分

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

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

回复

使用道具 举报

5熟悉之中
982/1000
排名
2119
昨日变化
1

7

主题

124

帖子

982

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
523/1000
排名
5578
昨日变化
3

2

主题

141

帖子

523

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
770/1000
排名
4831
昨日变化
54

0

主题

245

帖子

770

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

7日久生情
2933/5000
排名
2464
昨日变化
17

0

主题

2097

帖子

2933

积分

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

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

回复

使用道具 举报

5熟悉之中
770/1000
排名
4831
昨日变化
54

0

主题

245

帖子

770

积分

Rank: 5Rank: 5

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

感谢分享

回复

使用道具 举报

5熟悉之中
764/1000
排名
3444
昨日变化
15

1

主题

129

帖子

764

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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