發表文章

[Unity] 關於Android 的環境設定,使用自己的SDK/JDK/NDK

圖片
前言 由於有時候使用Unity安裝Android環境要用來開發 有時候很順利,但有時候也會遇見莫名其妙遺失SDK或是NDK這種問題 再加上Unity 在安裝編輯器的時候,選擇的Android 開發模組,它所安裝的sdk、jdk、ndk皆是各別安裝在各個版本的unit編輯器資料夾下,對於工作中會使用到各種版本的我來說,明明是同一個sdk 卻重複安裝 實在是很浪費硬碟空間,所以也想讓各個編輯器重複使用相同的工具 開始安裝 在此說明環境 Unity Editor 2022.3.20f1 ,因為Unity Hub的Bug,2022的某些版本使用Hub安裝會出現編輯器應用程式安裝失敗的問題 所幸直接使用 官網下載 的Unity Installer來安裝,並安裝Android的模組 打開Unity環境設定可以發現 將Unity提供的選項關閉,他上面會顯示需要使用的版本 像是 JDK      需要 11.0.14.1            NDK    需要 23.1.7778620 JDK  JDK我們可以使用OpenJDK的就好,輕鬆無負擔,可以從官網下載也可以用微軟提供的 因為微軟的比較好找到需要的版本所以這裡使用 微軟提供 的 在JDK 11的 Release頁面找到 11.0.14.1 依照你的系統下載所需的安裝檔 回到JDK的部分然後指定剛剛安裝的檔案資料夾 Unity一定會出現警告,但是沒關係,還是可以使用。 NDK和SDK 我們使用 Android Studio IDE來獲得 NDK 點開SDK Manager,選擇 SDK Tools 開啟 Show Package Details以顯示各種版本 找到NDK的位置點開摺疊 下載 23.1.7779620 版本 按下Apply 下載完畢後在SDK安裝位置下面找到NDK的資料夾 然後點選 23.1.7779620資料夾即可 SDK 接下來回到Android Studio的SDK Manager 並下載 Android SDK Command-line Tools(latest) 不下載最新版是有根據的,因為太新的SDK Command-line Tools 他所依照的JDK要求會太高,...

[Godot] Sprite Sheet 使用以及HDR Glow 發光效果

圖片
前言 由於我想在Godot中實現2D的Glow效果,所以試著用出來。 注意:我的版本是 4.1.1 的Net版本,我有發現到目前使用 「相容」(Compatibility) 會出現 "Godot environment is not supported when using the GL compatibility backend yet" 的錯誤,所以這個範例只好使用 前向渲染 ( Forward+ ) 準備素材: 要使用 Sprite Sheet 一張 要用來發光的 Emission 貼圖一張 我是用Aseprite直接畫的,大家也可以自己試著畫畫看,只要透過灰階就可描繪出你想要的亮暗變化 Godot操作 這裡使用的是 Forward+ Render引擎   1. 世界環境  在主要節點下添加一個 WorldEnvironment 節點 並新增環境 2.設定背景 在世界環境的屬性面板將Background的模式設成 畫布( Canvas ) 3.設定Glow 首先要打開 Glow ,請Enable它 再來將混合模式測定成 疊加 會比較明顯 (用預設的柔光也可喔,只是數值要激進一點) 接下來調整 HDR閾值 理論上就會有效果了 HDR Threshold 當 HDR Threshold ,是用來判定當哪些光源亮度超過一個特定值時,會應用到Glow效果,所以如果你會發現當你設成0.9或其他小於1的值時,畫面上開始有發光效果了,這就代表你原本場頸上所有的亮度都低於1,所以當閾值為1時,看起來才沒有什麼效果 HDR Scale HDR Scale 會影響 HDR閾值與實際亮度之間的差距,所以當你將其數值調小時,亮度的尺度會被壓縮,就更輕易地超過了HDR閾值,所以也會有更亮的效果 最後我是調成如圖,但是你也可以隨意抓效果 4. Sprite動畫 a. 建立動畫2D精靈圖 新增一個 AnimatedSprite2D 節點 b. 新增Sprite Frames 在屬性中的Animation欄位內的 Sprite Frames 指定或是新增你要的精靈圖幀 c. 編輯 Sprite Frames  點兩下 剛剛指定的資源 這時會發現下方有打開一個 Sprite Frame 的視窗欄位 d. 匯入 SpriteSheet 還記得有準備 Spri...

[Godot] 起始之初,編輯器認識:關聯Rider IDE

圖片
    在 9/13 號也就是今天,Unity 官方發布了一篇新聞稿,提及了他們的新政策,其有關於當超過多少營收且超過一定安裝數時,開發者就需要開始為每個安裝數支付所謂的Unity Runtime fee,離所當然的引起了廣大開發人員的不滿,也讓我深深感受到被獨大的商業引擎公司掐住脖子的壓迫感,為了可以更自在地開發遊戲,以及預防往後還有類似事情發生,我決定開始使用Godot引擎 圖源:維基百科/Godot Godot Game engine 是一款MIT授權的自由開源軟體,自由度非常高,而且產生物也完全歸使用者所有,引擎本身的開發又是由社群驅動的,說實話蠻吸引我的。 Godot 支援 跨平台,可以發布在  Windows Linux MacOS HTML5平台 ios 通用Windows平台(UWP) VR平台 以及Godot 3.5 開始提供的 Android平台 Godot 的腳本語言是使用於類似python 的GDScript、C#和C++,但是由於我是從Unity逃過來的,所以會選擇C#來開發,並且IDE就使用Rider吧 據官方 文檔 所說,Godot中的C#比起一些單純的GDScript還要快上4倍,並且用C++會更快,但是要注意C#與Godot通訊時會消耗許多吃效能的處理 以下先來介紹要怎麼把Rider與Godot整合 1. 打開你的Godot專案 2. 在上方工具欄的 編輯器 ,選擇 編輯器設定 3.在左側的視窗往下滑,滑到 Dotnet 設定, 點選 編輯器 4. 將外部編輯器(External Editor)選成 JetBrains Rider 就可以按 關閉 了 5. 在Rider中,請記得安裝 Godot Support 外掛 ,Github :  網址 然後當你直接點選你專案的CS檔應該就會自動開啟Rider了

[Houdini]L-System 初步了解

圖片
 L-System語法 緣由 經過朋友分享Houdini的學習過程時,了解到裡面可以使用Lindenmayer 個系統,也就是L-System,他是由荷蘭生物學和植物學家 Aristid Lindenmayer 所提出的數學模型,可以廣泛應用於植物生長過程的研究,而在3D軟體,則可以依照這些規則來產生需要的植物。 符號 F    往前一步,並畫一條線 f      往前一步,不畫線 +     左轉 δ 度 -     右 轉 δ 度 [     開始一個分支 ]     完成一個分支 X,Y   為變數,變數不畫線,但是要記得他們的存在 有其他語法不過目前我們先用這些就好 依  維基百科  所寫 L-System 應該會像: 變數: AB 常量: 公理(Axiom): A 規則: (A->AB),(B->A) 所謂的公理,就是系統的初始點,像是這裡的公理為A,所以我們由A開始走 然後再依規則進行疊代。 示範 矩形路徑 下面來簡單的示範 我們的 δ 在此設為 90 度,也就是我們目前的轉彎都是單純的正左轉正右轉。 n = 3   F F->F[-XF]F X->F[x] 開始畫吧: n = 0 因為我們的公理定為 F,所以一開始為向前走一步並且有畫線。 我們以紅色為起點向前走一步吧! n = 1 進行第一次疊代,這時我們要依照給的兩條規則來執行。 由於沒有X在場上,所以我們這次只跟隨規則 F->F[-XF]F 注意一點是,我們有箭頭符號對吧。 你可以把他想成變身,我們的F變身成F[-XF]F了,所以會直接取代原本的F, 而不是繼續畫上去。 在這張圖我用了3步驟來解釋是怎麼變成最右邊那張圖的, 便更好的解釋規則語法。 F[-XF]F a.  F  : 我們裡所當然的畫一條線F 1 b.  [-XF]  : 中括號的意思就是 分支 ,也就是新的樹枝,我們想像在目前位置跟目前的方向,開啟一個獨立的 工作站 ,且 不會影響 到本體。 我們再來看他的要求是什麼: 指令是 -XF ,所以我們先向右...