跳到主要內容

精選

對於玩家們常會說的「懷念以前的遊戲」甚至覺得以前的遊戲比較好玩觀點與AI進行探討part1

 接下來針對一些玩家對於很多遊戲習慣會說的以前“ 遊戲比較好玩 ”這點來進行相關的提問 當然我知道我這提問只是一個面向,不過可以看看AI是如和回應的 問題: 有時候,對於遊戲玩家中很常見的一些說法,也覺得有點矛盾,感覺很多人似乎並不是真的理解自己在說些什麼。   像是常常有很多人都喜歡說什麼「懷念以前的遊戲」,或是覺得以前那樣在遊戲中可以做自己想做的事情,覺得很棒,認為現在的遊戲怎麼都只有唯一解,或是只有少數的流派之類的。   但是實際上拆解開來看,以前的遊戲,單純只是因為那時候大家沒有在查攻略玩遊戲而已,難道不是這樣嗎?如果你那時候去查了攻略,不就會發現更好練或是更強的方式,然後就會發現自己在做傻事,結果就是改變自己的玩法。   所以,只要你現在玩家玩新遊戲的時候也都不要查攻略,那你怎麼會覺得只有唯一解?這觀點本身就是有問題的啊。 就是因為你去查了攻略,發現有更好練或是更強的方法,才反而覺得是唯一解不是嗎?   因為照那樣的說法成立,其實現在的新遊戲就不應該開放大家討論,也不要有相關的討論版,任何問那個遊戲的文章都要刪掉,這樣大家就會回到以前那種遊玩模式。 但是,難道大家會想要這樣玩遊戲嗎? 其實現代的遊戲玩家根本就不想那樣玩遊戲啊,結果他們自己的行為根本就是矛盾的,卻整天只會做這種膚淺的言論來抱怨。   如果真的想要玩到更好玩的遊戲,我其實真的覺得,玩家自己本身也是可以提升,甚至帶動整個風氣一起提升不是嗎?而不是只會做那種膚淺的抱怨,卻完全沒說到真正的點上吧。 --- 回應: 「以前遊戲比較自由」這句話,問題出在哪? 你點到一個關鍵: 以前不是沒有唯一解,而是「大家不知道唯一解在哪」 。 為什麼以前看起來比較自由? 沒有現在這麼即時、完整的攻略 沒有 YouTube、Wiki、Discord 秒解 資訊流通慢,玩家彼此之間是「局部知識」 所以結果是: 每個人玩法都不一樣 很多「其實很爛但當下覺得OK」的玩法能存活 玩家會把「不知道更好的解法」誤認成「設計上的自由」 但只要 當年有完整攻略 ,會發生什麼事? 大家一樣會改玩法,一樣會往效率最高的方向靠。 你說得沒錯: 一旦你知道有更快、更強、更省的方式,繼續用...

遊戲伺服器2025年初架設與研究part13在Unity中創建TMP(TextMeshPro)中文字型且顯示中文字

 首先回顧一下上次分享的文章

主要是把我們聊天室的內容顯示在遊戲畫面

那當然大家也可以根據自己的喜好進行調整

或是增加傳送給伺服器的資料,那就可以對聊天室進行更詳細且複雜的操作

例如多數遊戲可能都會有的頻道分類

像是世界頻道,區域頻道,公會頻道等等,都是可以延伸去處理的部分

不過這次的話先來分享另一個

也就是我們先前在使用Unity新版的TMP Text的時候

還是有些人對於如何顯示中文有些疑惑

那這邊就是在進行更詳細的講解


首先在比較新版的Unity中
我們在場景中點擊滑鼠右鍵,創建一個Text元件的時候,應該看到如上圖
可以看到Text - TextMeshPro
這個就是新板的TMP文字元件
當然這邊如果怕麻煩,或是不想要使用新版
其實還是可以找到舊版的
就繼續往下看


可以找到Legacy
一般來說現在Unity內部也有不少保留舊版系統的機制,都會放在Leagcy裡面
那如果使用舊版,預設是可以顯示中文的
至少單純使用上不會有什麼問題的
那這邊可能就會牽扯到一個問題
就是該不該使用新版
其實這邊還沒有絕對需要使用新版的理由
但是現在多半製作遊戲的時候都會使用到各種插件
隨著時間,越來越多插件都會內建新版的語法
雖然現在舊版還可以使用,但是也很難說最後Unity不會有捨棄的想法
所以多學新版的用法也沒什麼壞處
除非自己的專案已經用了舊版的,而且還用到了一大堆地方
那確實,就保持用舊版就好,不必刻意為難自己

而以下就是簡單的說明一下新版的Text該如何使用
首先創建好第一個Text TMP版本的時候
應該會跳一個視窗


因為目前專案內還沒有任何給TMP使用的文字檔,他會要你Import
直接按也沒關係,雖然按了也不會讓中文字出現
中文依然是顯示不出來的
包然把TMP範例匯入後也是看不到中文
那些都沒有包含中文的字型,顯示不出來也是正常
那這邊也為了方便測試,簡單提供常見的字型檔下載點
當然Unity可以支援.ttf跟.otf
如果自己已經有字型檔,可以先匯入專案,等等會用到
那這邊就直接提供google的字型下載的載點

這兩個都是google就可以下載到的免費字體,都有支援中文
可以隨意下載其中一個來用

那我這邊也是準備了一個A_Font資料夾來放我們的字體檔案NotoSerifTC-VariableFont_wght.ttf
例如我丟進來的這樣
那接下來我們直接使用較快的方式創建出所需的文字檔

我們點擊專案內的字體檔案右鍵
然後選到Create/TextMeshPro/Font Asset/SDF
這樣Unity就會替我們用內建的方式直接創建出一個可以使用的字形檔

這樣就可以創建出一個SDF檔案
也就是給我們TMP可以使用的字形檔了

那我們回到場景中看先前的TMP Text
我們看到Font Asset的地方,這就是我們可以替換字型檔的位置
點選旁邊的小白點,又或是直接把場景中的中文字型檔拖曳過來也可以
那這邊我們就可以看到
先前準備的NotoSerifTC-VariableFont_wght SDF已經放到Font Asset上了
接下來在內容的部分打上大家想顯示的中文字

那這樣我們就可以在Game視窗看到文字顯示的內容
已經有中文字出現了
那基本上到這個步驟,就已經算是可以使用中文字型
以下是額外一點點補充
如果想要進階一點的操作

可以開啟Font Asset Creator可以看到很多進階一點的選項
那我這邊也只是簡單帶過,例如以下操作
把我們先前讓Unity預設創建的SDF拖曳進來,可以看到他預設添加了那些字進來
我們也可以根據喜好調整
並且這邊也提醒Unity預設會是動態字體,加載等等的有可能延遲等等的原因
但是因為中文字實在太多了,如果遊戲中又有大量文字需求
那這個Atlas基本上怎樣都不夠大的
畢竟隨便把6千個以上的中文字塞進來,肯定是容量爆炸的
所以多半需要顯示大量中文的情況,還是用動態比較保險(避免有字無法顯示出來)
而這邊自然也就表示,假設遊戲需要的中文沒有很多,且都能預知的情況(有文字表)
那直接透過自訂來把用到的字都添加進來
生成靜態的文字檔,就可以大幅提升效能
還可以避免動態字體有機率把字體弄爆炸的風險
(爆炸簡單來說就是可能會有不可預期的畫面錯亂產生)

那這次就簡單的介紹一下如何在Unity之中使用TMP並且添加中文字進來
畢竟舊版的Text是預設就能顯示中文,還是有不小差距的
這次就分享到這邊,如有疑問可以再提出來~


















留言