3D NES emulator is witchcraft in your - 模擬器

By Xanthe
at 2016-03-10T15:37
at 2016-03-10T15:37
Table of Contents
※ 引述《wyvernlee (廢死不可!)》之銘言:
: 3D NES emulator is witchcraft in your browser
: http://www.pcgamer.com/3d-nes-emulator-is-witchcraft-in-your-browser-2/
: 這東西很特殊,簡單說是用 3D 的方式來模擬傳統的任天堂遊戲,
: 有興趣的可以看一下影片:
: https://www.youtube.com/watch?v=Ti2fwroyP2A
我發現這東西酷到應該另起一篇~這傢伙的想法真是天才
開發者想法很有意思~有些部分處理的滿厲害的,比如說他讓原本畫面上的
sprites(拼合動畫)做extruding(長出深度)以達到3D效果,但是程式怎麼判
斷那些要長那些不要長?又長出深度為何?馬力歐醫生的DEMO他特別轉角度
來做示範,除了秀一下3D的驚奇感覺外,其實我們可以看到不是每個物件都
延伸出一樣的高度,一開始的設定畫面就是如此:
http://imgur.com/7iLXay6
綠方塊背景長出高度,但標題卻在綠背景長出後再接著長,這邊可以看
到它是用動畫拚合的單位再做判斷的依據,所以膠囊左右的圓弧沒長,可能
因為該格算在綠背景的動畫拼合裡面。
那黑色的部分一律判斷深度為0應該是沒問題的。也就是遇黑就凹。
讓我覺得好奇的是下方馬力歐醫生和病菌的部分,他怎麼知道單單這兩
隻要長成樂高人,而不是直接長深度而已?1 PLAYER或1990這些字就只有長
深度而已,如何讓程式逕自判斷?真是有一套。而我自己的猜想,可能是用
角色和背景的區別讓程式自己去判斷。
FC的限制是,如果是定義成腳色的拼合動畫,那垂直解析度(水平方向)
最多只能有32個像素,像DQ系列他用8*8來定義一個腳色,所以橫向最多就
是站四個人,有第五個人站在一起就開始閃爍,閃爍的意思就是,每一個時
間最多同時顯示四個8*8的單位,所以用大家輪流不顯示達成橫向站五個人
的目標;但定義成背景拼合則不在此列,所以後期很多遊戲出現超巨大角色
就是通通定義成背景角色,缺點是畫面不能再有背景,所以都是全黑的,洛
克人、松鼠大冒險都是這樣做的。
http://imgur.com/Hoq5aje
所以我猜也有可能用這樣的方式讓程式判斷誰該長深度,誰該長成樂高人。
或者用動畫拼合的FRAME數來決定。
不過以上方式誤判的機率都有,這也很符合目前模擬器所展示的結果。
//-------------
接下來這張比較:
http://imgur.com/bmmjfUm
我們可以看到他每個物件長的高度其實不一樣,右上的DR.MARIO就長的沒那麼高
還有定義成角色的一樣是樂高人,最好玩的是這作者判斷了某種方式讓某種圖形
被顯示成管狀,如背景的紫圈圈,這功能超妙!
http://imgur.com/iC3Pl4c
我一開始以為是連續的pattern會被定義成管狀,但看影片類似的部分,洛克人
的牆壁就沒有,魂斗羅的樹林踏台也沒有,但瑪莉三代的水管有變成管狀,這個
太妙了,正好符合水管的感覺!更棒的是,香菇從管子出來的感覺非常棒!
http://imgur.com/8yo8DtH
除了瑪莉以外,惡魔城的地板也是管狀,超怪的~但惡魔城的樓梯長出就很立體!
雖然不知道他是怎樣定義的,但真的非常有趣!
最後該模擬器對於類似雜點或柱狀的判斷還有很大的想像空間~
http://imgur.com/1sYG6UB
由圖可以看見,對於像樹葉、木材、草叢等的判斷,有可能依照該像素的灰
階值來模擬,灰階值最亮(白,R:255 G:255 B:255)的高度,最暗(黑,R、G、B
值均為0),不過FC的灰階只有2^4-10(10個重複)6階而已,所以可能運算起來有6種
高度,關於色階看下圖的色盤會發現一堆重複:
http://blog-imgs-36.fc2.com/y/o/j/yojouhankurashi/yychr.jpg
對於利用像素的灰階值來定義3D模型的深度(或高度)也早是個成熟的
作法了,從早期知名的3D地圖、地形軟體Bryce 3D開始,就是輸入一隨意
點陣圖,他依照各像素的灰階值建立一個地形:
https://www.youtube.com/watch?v=9K7J4Vw96_0
其他像3D STUDIO MAX也有類似的方法叫Displacement map:
https://www.youtube.com/watch?v=sNMYHATzNu8
還有MAYA、Softimage等等軟體也都使用這樣的概念,所以我才會做如此的猜測。
最後,柱子和樹木如果只有單純的長高度,但起來就像牆壁一樣,人類在理解
上總會覺得不自然,但由於牆、柱子、樹木,一個在平面上看起來都一樣的東
西,長成3D應該是圓柱狀抑或是塊狀都是人腦自己憑經驗決定的,對於2D圖來
講那不過是個矩陣圖形而已,所以最後這神奇的模擬器和那天才作者究竟要用
甚麼方法使得程式做更好更自然的表現實在令人期待啊~
這大概是這陣子最令人興奮的模擬器新聞之一囉!
以上不負責任猜測和大家一起分享~TKS~
--
: 3D NES emulator is witchcraft in your browser
: http://www.pcgamer.com/3d-nes-emulator-is-witchcraft-in-your-browser-2/
: 這東西很特殊,簡單說是用 3D 的方式來模擬傳統的任天堂遊戲,
: 有興趣的可以看一下影片:
: https://www.youtube.com/watch?v=Ti2fwroyP2A
我發現這東西酷到應該另起一篇~這傢伙的想法真是天才
開發者想法很有意思~有些部分處理的滿厲害的,比如說他讓原本畫面上的
sprites(拼合動畫)做extruding(長出深度)以達到3D效果,但是程式怎麼判
斷那些要長那些不要長?又長出深度為何?馬力歐醫生的DEMO他特別轉角度
來做示範,除了秀一下3D的驚奇感覺外,其實我們可以看到不是每個物件都
延伸出一樣的高度,一開始的設定畫面就是如此:
http://imgur.com/7iLXay6
綠方塊背景長出高度,但標題卻在綠背景長出後再接著長,這邊可以看
到它是用動畫拚合的單位再做判斷的依據,所以膠囊左右的圓弧沒長,可能
因為該格算在綠背景的動畫拼合裡面。
那黑色的部分一律判斷深度為0應該是沒問題的。也就是遇黑就凹。
讓我覺得好奇的是下方馬力歐醫生和病菌的部分,他怎麼知道單單這兩
隻要長成樂高人,而不是直接長深度而已?1 PLAYER或1990這些字就只有長
深度而已,如何讓程式逕自判斷?真是有一套。而我自己的猜想,可能是用
角色和背景的區別讓程式自己去判斷。
FC的限制是,如果是定義成腳色的拼合動畫,那垂直解析度(水平方向)
最多只能有32個像素,像DQ系列他用8*8來定義一個腳色,所以橫向最多就
是站四個人,有第五個人站在一起就開始閃爍,閃爍的意思就是,每一個時
間最多同時顯示四個8*8的單位,所以用大家輪流不顯示達成橫向站五個人
的目標;但定義成背景拼合則不在此列,所以後期很多遊戲出現超巨大角色
就是通通定義成背景角色,缺點是畫面不能再有背景,所以都是全黑的,洛
克人、松鼠大冒險都是這樣做的。
http://imgur.com/Hoq5aje
所以我猜也有可能用這樣的方式讓程式判斷誰該長深度,誰該長成樂高人。
或者用動畫拼合的FRAME數來決定。
不過以上方式誤判的機率都有,這也很符合目前模擬器所展示的結果。
//-------------
接下來這張比較:
http://imgur.com/bmmjfUm
我們可以看到他每個物件長的高度其實不一樣,右上的DR.MARIO就長的沒那麼高
還有定義成角色的一樣是樂高人,最好玩的是這作者判斷了某種方式讓某種圖形
被顯示成管狀,如背景的紫圈圈,這功能超妙!
http://imgur.com/iC3Pl4c
我一開始以為是連續的pattern會被定義成管狀,但看影片類似的部分,洛克人
的牆壁就沒有,魂斗羅的樹林踏台也沒有,但瑪莉三代的水管有變成管狀,這個
太妙了,正好符合水管的感覺!更棒的是,香菇從管子出來的感覺非常棒!
http://imgur.com/8yo8DtH
除了瑪莉以外,惡魔城的地板也是管狀,超怪的~但惡魔城的樓梯長出就很立體!
雖然不知道他是怎樣定義的,但真的非常有趣!
最後該模擬器對於類似雜點或柱狀的判斷還有很大的想像空間~
http://imgur.com/1sYG6UB
由圖可以看見,對於像樹葉、木材、草叢等的判斷,有可能依照該像素的灰
階值來模擬,灰階值最亮(白,R:255 G:255 B:255)的高度,最暗(黑,R、G、B
值均為0),不過FC的灰階只有2^4-10(10個重複)6階而已,所以可能運算起來有6種
高度,關於色階看下圖的色盤會發現一堆重複:
http://blog-imgs-36.fc2.com/y/o/j/yojouhankurashi/yychr.jpg

對於利用像素的灰階值來定義3D模型的深度(或高度)也早是個成熟的
作法了,從早期知名的3D地圖、地形軟體Bryce 3D開始,就是輸入一隨意
點陣圖,他依照各像素的灰階值建立一個地形:
https://www.youtube.com/watch?v=9K7J4Vw96_0
其他像3D STUDIO MAX也有類似的方法叫Displacement map:
https://www.youtube.com/watch?v=sNMYHATzNu8
還有MAYA、Softimage等等軟體也都使用這樣的概念,所以我才會做如此的猜測。
最後,柱子和樹木如果只有單純的長高度,但起來就像牆壁一樣,人類在理解
上總會覺得不自然,但由於牆、柱子、樹木,一個在平面上看起來都一樣的東
西,長成3D應該是圓柱狀抑或是塊狀都是人腦自己憑經驗決定的,對於2D圖來
講那不過是個矩陣圖形而已,所以最後這神奇的模擬器和那天才作者究竟要用
甚麼方法使得程式做更好更自然的表現實在令人期待啊~
這大概是這陣子最令人興奮的模擬器新聞之一囉!
以上不負責任猜測和大家一起分享~TKS~
--
Tags:
模擬器
All Comments

By Vanessa
at 2016-03-14T19:56
at 2016-03-14T19:56

By James
at 2016-03-17T07:19
at 2016-03-17T07:19

By Olivia
at 2016-03-18T02:59
at 2016-03-18T02:59

By Mia
at 2016-03-19T02:47
at 2016-03-19T02:47

By Franklin
at 2016-03-22T04:51
at 2016-03-22T04:51

By Kelly
at 2016-03-25T21:55
at 2016-03-25T21:55

By Catherine
at 2016-03-26T05:39
at 2016-03-26T05:39

By Doris
at 2016-03-29T02:43
at 2016-03-29T02:43

By Vanessa
at 2016-03-31T03:32
at 2016-03-31T03:32

By Quintina
at 2016-04-01T13:11
at 2016-04-01T13:11

By Belly
at 2016-04-04T17:12
at 2016-04-04T17:12

By Belly
at 2016-04-06T20:12
at 2016-04-06T20:12

By Franklin
at 2016-04-11T11:09
at 2016-04-11T11:09

By Emily
at 2016-04-11T21:58
at 2016-04-11T21:58

By Dora
at 2016-04-13T12:58
at 2016-04-13T12:58

By Harry
at 2016-04-17T07:43
at 2016-04-17T07:43

By Carolina Franco
at 2016-04-20T18:43
at 2016-04-20T18:43

By Agnes
at 2016-04-22T09:26
at 2016-04-22T09:26

By Oscar
at 2016-04-25T15:16
at 2016-04-25T15:16

By Madame
at 2016-04-26T11:30
at 2016-04-26T11:30

By Poppy
at 2016-04-27T02:32
at 2016-04-27T02:32

By Annie
at 2016-04-29T20:55
at 2016-04-29T20:55

By William
at 2016-04-30T08:22
at 2016-04-30T08:22

By Skylar DavisLinda
at 2016-05-01T21:06
at 2016-05-01T21:06

By Kumar
at 2016-05-06T08:41
at 2016-05-06T08:41

By Rebecca
at 2016-05-07T00:10
at 2016-05-07T00:10

By Anonymous
at 2016-05-09T09:48
at 2016-05-09T09:48

By Ida
at 2016-05-11T13:16
at 2016-05-11T13:16

By Noah
at 2016-05-14T08:51
at 2016-05-14T08:51

By Bethany
at 2016-05-18T23:56
at 2016-05-18T23:56

By Jacky
at 2016-05-20T08:24
at 2016-05-20T08:24

By Dorothy
at 2016-05-25T04:15
at 2016-05-25T04:15

By Yuri
at 2016-05-26T01:09
at 2016-05-26T01:09

By Heather
at 2016-05-28T01:48
at 2016-05-28T01:48

By Genevieve
at 2016-05-28T14:53
at 2016-05-28T14:53

By Joseph
at 2016-05-29T13:19
at 2016-05-29T13:19

By Emily
at 2016-06-01T06:51
at 2016-06-01T06:51

By Jacky
at 2016-06-01T10:38
at 2016-06-01T10:38

By Ethan
at 2016-06-05T02:11
at 2016-06-05T02:11

By Hedy
at 2016-06-08T23:14
at 2016-06-08T23:14
Related Posts
3D NES emulator is witchcraft in your

By Jacky
at 2016-03-10T00:48
at 2016-03-10T00:48
(Tools) GoodGBA v3.26

By Ingrid
at 2016-03-09T20:38
at 2016-03-09T20:38
風雲團十郎傳-1-開幕~嵯峨野村

By Charlie
at 2016-03-08T15:11
at 2016-03-08T15:11
epsxe和psxfin開遊戲問題

By Edith
at 2016-03-08T12:17
at 2016-03-08T12:17
Openbor Mortal Kombat-The Chosen One

By Mia
at 2016-03-07T20:10
at 2016-03-07T20:10