字體:小 中 大 | |
|
|
2015/08/11 21:06:47瀏覽5802|回應4|推薦1 | |
前言: 最近好久沒有寫文章了 話說最近一直想要做一個.... 好吧,目前專案內容先不說好了 . 總之需要像圖片這樣,不要是視窗那副德性,而是一個3D模組在顯示器前面跳舞這樣。 原本以為相當麻煩,可能要用其他3D引擎在VisualStudio上面才能完成 不過後來發現Unity就可以辦到了 省了很多時間 . https://drive.google.com/open?id=0B3hpPe6AAVmzUU9VNHZ2Nk5hZVk 另外推薦一下上面這個軟體 MMD_DM 可以Loady自己的PMD檔(目前好像不支援PMX有點可惜) 也可以載入Pose 和 VMD 是個相當好玩的調教工具 . https://www.youtube.com/watch?v=oNx4lleka6s 網路上也有很多範本 這個exe可以開很多個,可以個分別載入不同的人物來玩w . 正文: 前面的匯入3D模組啥的不才就先不說明了 目前就先以 "YYB式桜ミクv1.00" 這個模組,轉成unity 可以吃的格式作為範例 . https://drive.google.com/open?id=0B3hpPe6AAVmzbF93aWhVMWFnbGM 然後下載這段程式碼 修改取自網路 . 把它丟進Unity裡面 再套用在隨便一個GameObject裡 . SetLayeredWindowAttributes(hwnd, 0x000000, 240, 2);// Transparency=51=20%, LWA_ALPHA=2 整段裡面比較要提的是這一行 0x000000 類似Key Color(R G B A)(紅 綠 藍 透明),會過濾掉這個顏色 也就是R G B 都是0(黑色) A 也是0(也就是透明度為完全透明) . 240 是整體透明度,簡單說是過濾掉Key Color 後剩餘人物的透明度 介於0(完全透明)~255(完全不透明) 如果改成255在unity中的人物就會在桌面上顯示就會是實心的,人物中間不會有點透光 . 然後到Camera的Background裡面 . R G B A 都設定成 0,符合SetLayeredWindowAttributes裡面的key值 簡單來說是為了讓背景能夠過濾掉 A(透明度) 雖然設定成 0 就圖片意思來說也是透明的,但如果跟SetLayeredWindowAttributes裡面該濾掉的顏色的key值不一樣最後還是會被顯示出來 . 如果這個Script正在使用,要執行的時候不能夠按下Play,之後Game 和 Scene的視窗有一定的機率會不見(變成透明了XD) 要Buile成exe在看結果才行 . 執行exe後就可以看到原本是整個視窗 現在變成只有人物在上面了 . 即使操作其他視窗人物也會顯示最上層,剛好符合不才之後的需求w . |
|
( 興趣嗜好|電腦3C ) |