Unity - 取得Android手機中的圖檔來做為材質
一般來說如果遊戲要使用Resources資料夾的東西,用Unity提供的API像是Resources.Load就可以了,如果在編輯器底下也可以用Resources.LoadAssetAtPath()之類的方法,這邊使用的是另一種取得外部檔案的方式,也就是讓Unity呼叫在Plugin裡面預先製作好的方法,在Android手機中去取得外部檔案並回傳給Unity,然後在Unity執行中即時使用這個檔案建立材質。
Labels:
Unity3D
Unity編輯器版本2048 !
不知道你玩過最近很流行的2048了沒有?如果還沒有的話建議可以先到2048的官方頁面去玩看看(http://gabrielecirulli.github.io/2048/),有鑑於最近2048很夯,於是參考了原著,我就把它修改成在Unity編輯器下也可以玩的版本啦。不過沒有做得很仔細,不知道會不會有Bug就是了。
Vertex and fragment shader 13 - 2D過場淡入淡出(Fade in/out) - 螺旋型(Spiral)
最近剛好看到關於螺旋的文章,覺得是個滿有趣的效果,就試著來修改成為一個螺旋的過場吧。關於螺旋的計算是參考這篇(http://stackoverflow.com/questions/4638317/how-to-implement-this-rotating-spiral-in-webgl)。
修改後呈現的效果大概是這樣
另外一種方式
當然原本的旋轉也有
修改後呈現的效果大概是這樣
另外一種方式
當然原本的旋轉也有
Unity - 遊戲中擷取畫面(Screenshot)
最簡單的方法就是使用Unity提供的API來擷取遊戲畫面,例如:Application.CaptureScreenshot("filename.png")
就會直接把畫面存成PNG檔案。
另外一種使用ReadPixels來貯存畫面資料,因為使用第一種方法會先把檔案存下來,要使用的話還必須Load檔案才行,不過若只要單純的擷取圖片使用這個即可。如果想要操弄擷取的畫面又或者是不需要存檔的話,建議可以使用ReadPixels,這個也只要再加上檔案寫入的方法,也同樣可以把圖片存下來。
Code:
如果要把讀取的資料存成圖片檔也很簡單,用File I/O把Texture2D的資料寫入檔案即可
就會直接把畫面存成PNG檔案。
另外一種使用ReadPixels來貯存畫面資料,因為使用第一種方法會先把檔案存下來,要使用的話還必須Load檔案才行,不過若只要單純的擷取圖片使用這個即可。如果想要操弄擷取的畫面又或者是不需要存檔的話,建議可以使用ReadPixels,這個也只要再加上檔案寫入的方法,也同樣可以把圖片存下來。
Code:
public Camera myCamera; IEnumerator Screenshot() { //在擷取畫面之前請等到所有的Camera都Render完 yield return new WaitForEndOfFrame(); Texture2D texture = new Texture2D((int)myCamera.pixelWidth, (int)myCamera.pixelHeight); //擷取全部畫面的資訊 texture.ReadPixels(new Rect(0, 0, (int)myCamera.pixelWidth, (int)myCamera.pixelHeight),0,0, false); texture.Apply(); //自己處理畫面資料的方法 //... }
如果要把讀取的資料存成圖片檔也很簡單,用File I/O把Texture2D的資料寫入檔案即可
void SaveTextureToFile(Texture2D texture, string fileName) { byte[] bytes = texture.EncodeToPNG(); string filePath = Application.dataPath + "/" + fileName + ".png"; using (FileStream fs = File.Open(filePath, FileMode.Create)) { BinaryWriter binary = new BinaryWriter(fs); binary.Write(bytes); } }
Labels:
Unity3D
Unity - 使用低階圖形指令GL(Low-level graphics library)在畫面上繪製圖像時遇到的狀況
一、GL的執行順序是立即執行,所以如果在Update裡面呼叫的話,他會在Camera Render之前執行,而接著Camera的更新會讓你的GL繪圖被蓋掉,所以最好在OnPostRender()裡面呼叫GL指令。
Labels:
Unity3D
CryEngine 學習筆記 1 - 開始前準備
剛好對於CryEngine有點興趣,同時他又開放免費版的SDK可以使用,這邊就記錄一些心得。
首先當然是要先去官網下載SDK(http://www.crydev.net/),如果沒有帳號的最好順便趁等待下載的時間註冊一個新的帳號,因為之後執行引擎的時候要輸入帳號。
首先當然是要先去官網下載SDK(http://www.crydev.net/),如果沒有帳號的最好順便趁等待下載的時間註冊一個新的帳號,因為之後執行引擎的時候要輸入帳號。
Labels:
CryEngine
Subscribe to:
Posts (Atom)