Unity C# | UGUI 的介紹與程式控制座標

閱讀時間約 3 分鐘

一、前言

  這篇文章將會介紹 UGUI ,以及如何使用程式碼控制 UGUI 的座標。

a. 定位小遊戲

  這個嘗試是因為一個學校的作品,需要在 3D 的遊戲世界中插入一個平面的小遊戲,於是我打算撰寫一個 Canva 的小遊戲出來,與此同時滿足了之前對於介面移動的問題。

b. 介面移動

  UGUI 的移動與控制是我很久以前就很好奇的事情,主要是因為介面通常是不會移動的,自然而然移動的教學就比較少,我找了很多個資料,最後才找到如何控制 UGUI。

c. 不要結合 UGUI 與物理系統

  其中有學習到一個很有趣的事情,介面不要跟物理系統混用,因為物理系統與介面是兩個不同的 Unity 系統,混用不是做不到,而是會消耗大量效能,對於遊戲並不是太好的做法。

二、UGUI

  那麼,UGUI 有哪些特色呢?

a. 可定制性高

  它具有靈活的可定制性,讓設計師在不同的平台上製作適應性UI,像是手機遊戲、電腦遊戲的 UI 就不同,然後是一些基礎的設計功能,例如改變UI的顏色、字體、大小、對齊方式等屬性,同時還支持使用自定義的UI元素。

b. 支持多種輸入方式

  這個系統似乎可以支持多種輸入方式,除了最基本的滑鼠操控介面,還能使用、觸控、手柄,甚至能用鍵盤去選擇想要的按鈕,在不同的平台上達到最佳的操作體驗。

c. 功能豐富

  UGUI提供了豐富的UI元素,包括文本、圖像、按鈕、滾動條、進度條、下拉列表等,這些元素可以通過腳本控制,這篇文章將會講述簡單的座標控制,它還能實現更複雜的UI功能,並支持各種動畫效果,讓UI更具有交互性和生動性。

三、控制範例影片

a. 準心設計與製作

  我自己設計了一個準心,雖然說看起來很簡單,但我要讓它對齊花了不少的時間,感覺美術在我這裡需要更多的精力與時間成本才能成長。

b. 控制器移動

  我希望能使用自製的控制器進行移動,測試時鍵盤進行移動即可;這是我第一次使用程式腳本控制 UGUI,效果不錯。

c. 視口座標的轉換與控制

  其中唯一的技術難度就在於UGUI的座標系統有別於遊戲物件,是一個完全獨立的UGUI系統座標,為了找到這個座標的參考資料,我還找了API,不過官方的手冊實在太雜了。

四、基礎流程

  我簡單分享一下製作的基礎流程。

a. 取得玩家控制

  首先我們要取得玩家的控制,從最近學習到的 CleanCode 習慣中,我們應該讓某個函式單獨處理,因此我讓玩家控制放在 PlayerInput 中。

b. 撰寫視口座標轉換函式

  隨後撰寫視口座標的轉換函式,如果對於視口座標有興趣,可以去查查看這是一個什麼東西,剛好控制器的參數與視口座標的參數能結合,因此我這次撰寫的難度大大降低。

c. 撰寫 UGUI 物件控制

  隨後找到 UGUI 的座標控制,讓它跟視口座標的參數結合,讓它的位置跟玩家的控制器相同。

d. 持續在 Update 更新

  最後讓這兩個函式都跟 Update 同步,這樣一來玩家的操作每一幀都會更新之外,還會移動畫面中的標靶座標。

五、後記

  其實我當初撰寫的時候繞了很多的彎,不過現在回頭看來其實整個步驟看起來似乎相當簡單,不得不說這種技術內化成自己的技術以後,哪怕下一次遺忘怎麼製作,學習曲線也會大大降低了。

為什麼會看到廣告
104會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言0
查看全部
發表第一個留言支持創作者!
瓶裝雪的沙龍 的其他內容
這篇文章將會講述 Unity C# 中關於 Interface (介面/接口)的基本介紹以及原理說明,最後提供完整的使用流程。
這篇文章將會講述 Unity 中協程(Coroutine)的基本介紹,分享一些關於協程的應用方向,最後並總結簡單撰寫協程的步驟。
這篇文章將會講述 Blockout 的介紹和適合的材質。
這篇文章將會講解 Git 專案上傳 GitHub 的流程。
這篇文章將會講述 Animator 中 Play 和 Transition 的差異和特色。
這篇文章將會講述關於相機的核心和常用知識。
這篇文章將會講述 Unity C# 中關於 Interface (介面/接口)的基本介紹以及原理說明,最後提供完整的使用流程。
這篇文章將會講述 Unity 中協程(Coroutine)的基本介紹,分享一些關於協程的應用方向,最後並總結簡單撰寫協程的步驟。
這篇文章將會講述 Blockout 的介紹和適合的材質。
這篇文章將會講解 Git 專案上傳 GitHub 的流程。
這篇文章將會講述 Animator 中 Play 和 Transition 的差異和特色。
這篇文章將會講述關於相機的核心和常用知識。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
最近ChatGPT-4o的發布引起了我的注意,又在Youtube看上見有人教學如何用ChatGPT設計屬於自己的家教,被他的能力震撼到的我一頭熱就訂閱了plus版然後馬上設計了一個自己的家教。最一開始的時候我只有把它用來學習語言的輔助,但用著用著忽然想到:「如果我把它用來引導我學習我沒有學過的領域呢
Thumbnail
遊戲引擎開發商 Unity 一直是我感覺很有發展潛力的企業,《原神》、《王者榮耀》等明星遊戲都是透過其引擎所建構,在手遊開發領域,擁有絕對統治力。然而,營運實績與線圖走勢卻不是如此,近 8 季毛利成長率有 4 季為負,1Q24 營運收入是近 8 季來最低值,-$375M…
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 類別Class 創造類別之後就可以持續使用創建的類別來創建物件,以武器為例,在遊戲裡有不同的武器,但是他們的屬性是一樣的,我們就可以在一個類別裡面設定不同
Thumbnail
開啟Xampp伺服器,並啟動 apache & mysql mysql建立 開啟Unity 建立 Script toPhp.cs Unity物件 toWeb物件設定 此處需特別留意設定 UItext & MYtext ,否則會出現物件未設定的Null錯誤 Button 設定 test.php con
  透過Unity平台開發出來的遊戲,比較廣為人知,例如憤怒鳥和寶可夢。Unity 的遊戲開發技術,可以刺激遊戲產業,更朝氣蓬勃有效率地開發新遊戲用戶透過遊戲平台,就可以進入元宇宙的世界!
Thumbnail
Unity在這週公布了2022年Q1的財報,財報發布後股價下挫30%,下跌至30美元,已經遠遠跌破兩年前的上市價。Unity雪崩式的下跌是因為Q1的營運不理想、未來的營運預期不理想、還是單純是隨著近期成長股估值修正而下跌呢?這篇文會分析Unity 2022Q1財報及預測Unity未來的營運狀況。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
最近ChatGPT-4o的發布引起了我的注意,又在Youtube看上見有人教學如何用ChatGPT設計屬於自己的家教,被他的能力震撼到的我一頭熱就訂閱了plus版然後馬上設計了一個自己的家教。最一開始的時候我只有把它用來學習語言的輔助,但用著用著忽然想到:「如果我把它用來引導我學習我沒有學過的領域呢
Thumbnail
遊戲引擎開發商 Unity 一直是我感覺很有發展潛力的企業,《原神》、《王者榮耀》等明星遊戲都是透過其引擎所建構,在手遊開發領域,擁有絕對統治力。然而,營運實績與線圖走勢卻不是如此,近 8 季毛利成長率有 4 季為負,1Q24 營運收入是近 8 季來最低值,-$375M…
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 類別Class 創造類別之後就可以持續使用創建的類別來創建物件,以武器為例,在遊戲裡有不同的武器,但是他們的屬性是一樣的,我們就可以在一個類別裡面設定不同
Thumbnail
開啟Xampp伺服器,並啟動 apache & mysql mysql建立 開啟Unity 建立 Script toPhp.cs Unity物件 toWeb物件設定 此處需特別留意設定 UItext & MYtext ,否則會出現物件未設定的Null錯誤 Button 設定 test.php con
  透過Unity平台開發出來的遊戲,比較廣為人知,例如憤怒鳥和寶可夢。Unity 的遊戲開發技術,可以刺激遊戲產業,更朝氣蓬勃有效率地開發新遊戲用戶透過遊戲平台,就可以進入元宇宙的世界!
Thumbnail
Unity在這週公布了2022年Q1的財報,財報發布後股價下挫30%,下跌至30美元,已經遠遠跌破兩年前的上市價。Unity雪崩式的下跌是因為Q1的營運不理想、未來的營運預期不理想、還是單純是隨著近期成長股估值修正而下跌呢?這篇文會分析Unity 2022Q1財報及預測Unity未來的營運狀況。