發表文章

目前顯示的是有「Unity」標籤的文章

Latest

把鬆緊帶穿回衣物中的方法

當衣服或褲子的鬆緊帶如果有一邊跑進去,要如何解決? 有一辦法可以先把鬆緊帶全部抽出來,再用直徑比較細的原子筆管讓鬆緊帶穿進去,之後在順著褲子的鬆緊帶洞口用手把它穿過去。這方法我用在我的褲子上,最後是成功的。 (最近才把以前的照片紀錄上傳,具體步驟只能依印象而寫) 鬆緊帶 準備工具除了鬆緊帶,還有:剪刀、美工刀、膠帶、原子筆管 鬆緊帶穿過筆管後,可以用膠帶把筆管前端和鬆緊帶黏住,以防鬆緊帶穿到一半跑出筆管 有些地方穿不過去時可以用剪刀或美工刀稍微開個小洞 完成後就卸下膠帶和筆管! (重點:要有如同筆管這種可以在衣物材質覆蓋下也可以被移動的東西)

【Unity】Transform.RotateAround

圖片
I've been searched for a while today for the 2D object orbital motion. In the beginning, I didn't know the keyword is "orbit" (I searched the related thing in Chinese called "沿著圓形移動"). Until using the correct keyword and found this video. My new game project is in 2D, so the code I modified is like this: transform.RotateAround(new Vector3(0, 0, 0), Vector3.back, 20 * Time.deltaTime) The official document is here: https://docs.unity3d.com/ScriptReference/Transform.RotateAround.html

【Unity】Animation 的最後一張圖只會分配一幀

圖片
Unity 的 Animation 的最後一張圖只會分配一幀 目前還不知道為何 我們團隊的解決法是再多放一張與前一張圖一樣的圖 達到每個圖都有平均的幀數

【Unity】OnTrggerStay2D 沒連續觸發的問題

我發現當物體A待在物體B的碰撞區不動時~ OnTriggerStay2D() 只會執行幾次後就不觸發了 除非我移動物體A,它才會繼續觸發... 後來在  OnTriggerStay2D stops working randomly. - Unity Answers  找到算是可解決方法: 主要是到 Edit -> Project Settings -> Physics 2D 再來把 "Time To Sleep" 的數值設大一點即可 但是我的遊戲專案是否適合這方法又是另一回事了...

【Unity】使用 Visual Studio Debug

圖片

【Unity】Asset的相依性 (待研究)

圖片
版本:Unity 2019.2.21f1 目前只知道Unity內建的【Find References in Scene】 參考: Find Reference Files in Unity Project – 搜尋 Unity 專案相依資源 Best way to reference asset files in code

【Unity】物體沿著路徑行走

圖片
最近在遊戲專案中想要達成物體繞著固定行走的效果 參考的第一個影片是 後來看到了這個 Path Creator 的 Unity Plugin 我覺得還不錯 實做後的效果待續...

【Unity】Coroutines 筆記

圖片
Coroutines are computer program components that generalize subroutines for non-preemptive multitasking, by allowing execution to be suspended and resumed. 根據 維基百科 所言 Coroutines是不可插隊的 (Non-preemptive) 多任務處理 並可以被暫停和恢復 - - - 在Unity裡面~ StartCoroutine()搭配IEnumerator() 而IEnumerator()裡面要加上yield return作回傳 可達到非同步效果 類似async搭配await吧

【Unity】UI Canvas 筆記

圖片
因應遊戲需求,來重頭學習 UI Canvas Canvas 目前有三種 Rendered Mode 其中之一 World Space 適合用在遊戲世界中的角色頭上顯示的暱稱或對話框 (Speech Bubble) Speech Bubble

【Unity】Cinemachine 筆記

圖片
今天主要是解決Cinemachine的邊界超過的問題而寫這篇文章的 我也在這支影片找到透過Cinemachine Confiner的解決方法 相關可以看 Cinemachine官方文件 中英文對照可參考 Cinemachine學習筆記 而 Cinemachine的官方Asset Store頁面 裡有描述一些功能 我也嘗試了解每個功能的含意與用途: Dolly Shot 慢慢的Zoom (Camera dolly是有裝軌道的鏡頭) A standard  dolly  shot usually refers to smoothly moving the camera forward or away from your subject .(參考: The Dolly Shot: How It Works and Why It’s Powerful ) 有dolly in (zoom in)和 dolly outs (zoom out) dolly in 可表現在人物恍然大悟時,可參考電影「大白鯊」中的一段 Occlusion Occlusion為灰色區塊,中文我覺得可以翻成「視野死角」 Crash Zoom 快速的Zoom,昆汀的電影很常用 Clear Shot 切換不同的攝影機 State Drive 可根據遊戲角色在不同狀態下而出現對應的相機轉場效果 (搭配Blend List) 很像電影裡面人物的特寫鏡頭

【Unity】Animator & Animation 筆記 (更新)

圖片
使用 Animation 不再卡 & 進一步了解 Animator 的功能 (這篇文章使用的 Unity 版本:2019.2.21f1) 這邊會用到兩個 Window (視窗): 1. Animator,這個視窗會去抓 .controller 檔裡的東西 2. Animation,這個視窗會去抓 .anim 檔裡的東西 先來講 Animation 如果發現不能調整 Animation 時 可以試試以下的作法: 先點取一個你想讓他產生動畫的 GameObject (下圖,黃框處) 在 Animation 的視窗中按下【Create】按鈕 (下圖,綠框處) 會另存一個新的 .anim 檔 (此物件的 .controller 檔也會一併產生) 如果要對同一個 GameObject 新增另一個 Animation 的話 就可以點選【藍圈處】的按鈕並出現【紅框處】的選項板 (下圖) 點【Create New Clip】即可 再來是 Animator 視窗中 點擊狀態機裡面的一個狀態後 (下圖,白框處) Inspector 裡有些可以調整的東西 (像是 Has Exit Time) 相關介紹可以參考這支影片,我覺得挺詳細的 官網有介紹Animation transitions 我個人覺得一開始直接看不易懂就是了...

【Unity】ScriptableObject 筆記

圖片
ScriptableObject 【Unity】ScriptableObject的介绍

【Unity】Object Pooling in Unity

有了Object Pool,記憶體就不用對大量物件的生成和刪減一直進行分配了 目前我只看 Object Pooling in Unity 這個還沒看 Unity Learn - Object Pooling

【Unity】Layer、Sorting Layer 差別

圖片
Layer:把GameObject分類,可用在碰撞 Sorting Layer:Camera看到2D物品的前後顯示順序 Which is the difference between layer and sorting layer? 相關設定可以參考影片教學 ↓

【Unity】TextMesh Pro 顯示中文

圖片
這兩天在研究 TextMesh Pro 的功能 這篇文章教了我如何匯入中文字體 (別的文字應該也是相同邏輯) Unity TextMeshPro 中文字體 @ 迷途_Unity工作室 :: 痞客邦 :: 從 C:\WINDOWS\Fonts 找到我想要的字體 (微軟正黑體) 這時候會發現微軟正黑體 (Microsoft JhengHei = MSJH) 有三個 .TTC (TrueType Font Collection)檔: MSJH (標準) MSJHBD (粗體) (BD = Bold) MSJHL (淡) (L = Light) 之後複製到 Asset 中 (這邊他會自動生成 .meta 檔,跑的有點久,我最後是讓他慢慢跑完,沒有用到網路解法) 再來 Unity Window -> TextMeshPro -> Font Asset Creator 進行相關設定 (字符可直接用貼到Custom Character List 或用匯入檔案的方式來放入) 之後 Generate Font Altas 後並存成 .asset 檔 - - - 採雷 - - - 一開始我還 git 上找到了 chinese简繁常用字表.txt 拿取裡面的全形符號 (共75個) 和繁體中文 (共3753個) 取得共3828個字符 (Character) 來生成 .asset 檔 出現三個引起我注意的點: 1. Character Included 的字符數比我來源的字符數少 (只有抓到3748個) 2. Atlas Resulotion 設大一點會抓到比較多字 3. 3753個繁體中文字數量不夠 (像是裡面不包含「町」這個字),得抓更大的 - - - 我目前使用的字符檔 - - - 在 3000-traditional-hanzi/data/frequency.txt 找到了足夠數量的繁體漢字 (共13060個) 之後結合75個全形符號,總共13135個字符 我以 8196x8196 去 Generate Font Altas 之後的 Character Included 為13134個字 多一個的字符是什麼目前還沒查出... - - - 結果 - - - ...

【Unity】Obsolete & transform.position.x

圖片
Obsolete 代表方法過時 Cannot modify a value type return value of `UnityEngine.Transform.eulerAngles'. Consider storing the value in a temporary variable 則是沒辦法直接修改 transform.position.x 或 velocity.x 這樣的值 參考: 和 【持續更新】Unity常見錯誤解決辦法

【Unity】Trigger跳/穿過平台

圖片
當玩家可以在平地穿過平台,然後又可以跳在平台上時~ 我放了兩個Trigger~ 然後平台用了Box Collider~ 將平台這個GameObject放入pf~ 再來~ 紅圈的Trigger: public GameObject pf; void OnTriggerEnter2D (Collider2D a) { if (a.gameObject.name == "Stickman") { pf.SetActive (false); } } 藍圈的Triiger: public GameObject pf; void OnTriggerEnter2D (Collider2D a) { if (a.gameObject.name == "Stickman") { pf.SetActive (true); } } 然後... 因為是用2D的, 所以是OnTriggerEnter 2D !! 要加2D!!!...我花了不少時間找出錯誤@@

【Unity】Box Collider趣用 & 填滿凹槽

圖片
Box Collider開啟時人物就會走在上面(行於水面XD) 這招以後應該會有不少延伸用法~ 另外~ 假如凹槽無法過去,就需要靠東西來填滿,讓玩家行走過去 而玩家可以利用怪物XD (怪物的圖片源自於楓之谷)

【Unity】Camera不超過邊界

圖片
今天練習Unity的時候想要製作Camera不超過邊界的效果~ 試著用Mathf.Clamp方法但寫不出來的我找到了這部影片 void Awake() //Awake()會比Start()還要優先 {  t = transform; } void LateUpdate() //LateUpdate()會比Update()還要後面 {  float x = Mathf.Clamp (target.position.x, xMin, xMax); float y = Mathf.Clamp (target.position.y, yMin, yMax); t.position = new Vector3 (x, y, -1); //z設定-1是為了讓圖層出現看的見 } 另外~ 像是設定[SerializeField] Transform target; 就會有跟設Public一樣的東西出現在Inspector裡~ Thanks a lot!

【Unity】Google Play 上架 版本更新 憑證問題 套件名稱更改問題 版本問題

這次我為了更新版本而遇到了一些問題 問:您上傳的 APK 未使用上傳憑證簽署,您必須使用相同的憑證。 解:用上一版的憑證 問:套件名稱錯誤 解:Inspector中Other Settings的Bundle Identifier的名稱要和上一版一樣 1.從Build Setting進去 2.或從[Edit]→[Project]→[Setting]→[Player]進去 Version = 讓一般使用者辨識的版號 Bundle Version Code = 內部用版號 參考 http://answers.unity3d.com/questions/1042023/how-to-change-package-name-in-unity3d.html http://share-diy.blogspot.tw/2014/07/android-googleplay-apk.html http://senia-devdoc.readthedocs.io/zh_TW/latest/setup-build-environment.html - - - 我們AR-Builder的Unity版本固定為Unity 5.3.2f1 (64-bit)

【Unity】 Asset Store 的資源存放位置

我的版本存放位置為~ C:\Users\用戶名\AppData\Roaming\Unity\Asset Store-5.x 感謝 Unity商店下载的文件保存路径? 一文 - - - 2016.11.16 更新: 我今天用的時候發現這個資料夾是隱藏資料夾@@