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

扫一扫,访问微社区

开发者专栏

关注:2353

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

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

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

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

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

68

主题

238

帖子

3151

积分

Rank: 9Rank: 9Rank: 9

UID
76890
好友
90
蛮牛币
4477
威望
0
注册时间
2015-3-4
在线时间
1145 小时
最后登录
2018-11-13

专栏作家

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

0

主题

2124

帖子

3364

积分

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

UID
219676
好友
1
蛮牛币
2511
威望
0
注册时间
2017-7-12
在线时间
534 小时
最后登录
2018-11-16

活力之星

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

回复

使用道具 举报

5熟悉之中
787/1000
排名
2750
昨日变化
10

0

主题

107

帖子

787

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
843/1000
排名
5591
昨日变化
4

0

主题

436

帖子

843

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

4四处流浪
446/500
排名
4363
昨日变化
20

0

主题

21

帖子

446

积分

Rank: 4

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

回复 支持 反对

使用道具 举报

排名
790
昨日变化

17

主题

1148

帖子

3284

积分

Rank: 9Rank: 9Rank: 9

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

回复

使用道具 举报

4四处流浪
435/500
排名
8025
昨日变化
75

0

主题

224

帖子

435

积分

Rank: 4

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

回复

使用道具 举报

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

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日久生情
2220/5000
排名
2710
昨日变化
9

1

主题

1427

帖子

2220

积分

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

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

回复

使用道具 举报

6蛮牛粉丝
1120/1500
排名
1850
昨日变化
4

7

主题

162

帖子

1120

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

5熟悉之中
559/1000
排名
5377
昨日变化
5

2

主题

145

帖子

559

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
997/1000
排名
3628
昨日变化
16

0

主题

246

帖子

997

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

7日久生情
3452/5000
排名
2186
昨日变化
8

0

主题

2460

帖子

3452

积分

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

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

回复

使用道具 举报

5熟悉之中
997/1000
排名
3628
昨日变化
16

0

主题

246

帖子

997

积分

Rank: 5Rank: 5

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

感谢分享

回复

使用道具 举报

5熟悉之中
889/1000
排名
2985
昨日变化
10

1

主题

135

帖子

889

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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