創作內容

4 GP

Unity資料蒐集 ─ ScreenToWorldPoint

作者:悠浪貓│2014-09-21 17:44:57│巴幣:8│人氣:2852
被 camera 內所提供的這個 Function 快玩死

搞了一個小時,看了一堆莫名其妙的英文..



ScreenToWorldPoint ( Vector3 position )

功能簡單而強大,提供一個螢幕座標回傳給你世界座標


首先要談談Projection

Camera 物件內有一個參數是 Projection (投影)

也就是如何將世界上的物件投影到你的螢幕上

他有兩種可選的投影方式 Perspective (透視) 和 Orthographic (不會翻!)

Perspective 就是一般 3D 隨遠近而大小的投影方式

而 Orthographic 則是 2D 那樣不管遠近,原汁原味直接貼在螢幕上

雖然我現在是在做2D的遊戲,但我仍然保留拓展至 3D 的變化性,所以我堅持用 Perspective

但這也導致我撞牆撞了一個小時



這和這 Function 有什麼關係呢? 有!差別可大了!

因為我這樣用他 ScreenToWorldPoint ( Input.mousePosition )

然後他就爽爽的一直回傳給我攝影機的 Position ....

但是我只要把攝影機 Projection 改成 Orthographic 就沒問題!

我就這樣查資料鬼打牆查半天才熊熊想到...「我好像沒給他深度值」...

所以只要這樣改

ScreenToWorldPoint ( new Vector3 (Input.mousePosition.x, Input.mousePosition.y, 深度 ));

就沒有問題了


他的Z值就是讓人放深度用的..(淚)

深度就是離攝影機多遠的「距離」,所以會根據你給的距離不同給出不同的世界座標

但 Orthographic 因為投影方式就只是個長方體,所以不管你深度給多少都會是一樣的

Perspective 則是一個金字塔型,所以深度的遠近會有很大的差距

而我傻傻的

mousePosition 的 Z 值預設是 0,深度 0當然就是貼著攝影機,當然就是攝影機座標啦!
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2600485
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 3 篇留言

搔手潮吹毒龍鑽汁
安安~~好久不見QQ

09-21 20:24

悠浪貓
咱們見過嗎 [e17]09-21 20:26

請教一下版主
像是細胞吞噬這類的遊戲,攝影機您覺得他們用了哪些技巧?

07-03 15:40

悠浪貓
呃.. 不好意思我見識沒有那麼廣博...
可能需要你提供遊戲的介紹和影片, 我才能知道你說的是哪款
[e15]07-03 18:35
悠浪貓
如果你是說那款大球吃小球的網頁遊戲
感覺他們也只有用 [球的數量和大小] 來當參數, 操控攝影機拉近拉遠而已
頂多在跟隨還有拉近拉遠上用了一些 [加速度] 來讓運鏡更平滑
07-03 18:42

恩恩就是那款
感謝您的分享

07-10 16:20

悠浪貓
很高興能幫上忙 [e12]07-11 00:07
我要留言提醒:您尚未登入,請先登入再留言

4喜歡★magicyeats 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:遊戲製作日誌 [ 4 ]... 後一篇:遊戲製作日誌 [ 5 ]...

追蹤私訊切換新版閱覽

作品資料夾

san0196
《我是靈異人》最新一話更新囉!歡迎來我的小屋看看喔!看更多我要大聲說1小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】