【Unity3D日常开发】Unity3D中实现屏幕坐标和3维空间坐标的转化
生活随笔
收集整理的這篇文章主要介紹了
【Unity3D日常开发】Unity3D中实现屏幕坐标和3维空间坐标的转化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
推薦閱讀
- CSDN主頁
- GitHub開源地址
- Unity3D插件分享
- 簡書地址
- 我的個人博客
- QQ群:1040082875
大家好,我是佛系工程師☆恬靜的小魔龍☆,不定時更新Unity開發技巧,覺得有用記得一鍵三連哦。
一、前言
在開發中會遇到將屏幕坐標轉成世界坐標以及世界坐標轉屏幕坐標的情況。
可以使用Camera.main.ScreenToWorldPoint和WorldToScreenPoint函數進行轉換,如下圖所示:
Input.mousePosition就是鼠標所在的位置的坐標
函數作用:
| Camera.main.ScreenToWorldPoint | 屏幕坐標轉世界坐標 |
| Camera.main.WorldToScreenPoint | 世界坐標轉屏幕坐標 |
二、實現
新建腳本PointSwitch.cs:
using UnityEngine;public class PointSwitch : MonoBehaviour {void Update(){Debug.Log("Input.mousePosition:" + Input.mousePosition);Debug.Log("屏幕坐標轉世界坐標:" + Camera.main.ScreenToWorldPoint(Input.mousePosition));Debug.Log("世界坐標轉屏幕坐標:" + Camera.main.WorldToScreenPoint(transform.position));} }把腳本掛載在主攝像機上
運行程序:
就得到屏幕坐標映射在三維世界中的坐標了。
不過有一點是,轉化之后z軸是-10
這個時候只要z軸+10就是屏幕映射到三維世界的正確坐標了
總結
以上是生活随笔為你收集整理的【Unity3D日常开发】Unity3D中实现屏幕坐标和3维空间坐标的转化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【应用多元统计分析】-王学民Python
- 下一篇: Docker--10张图带你深入理解Do