不同文化的古老夢想中都包含了飛行。人類總是擡頭妒忌地看着鳥兒飛越天空。我們學會了制造機器來幫助自己彌補沒有翅膀或者力量不夠的缺點,但是把自己放進鐵盒子裡面也意味着我們失去了一直渴望的自由飛行體驗。而當我們嘗試要回它的時候,這種體驗已經變得非常危險 --- 實體學定律在用強大的地心引力懲罰我們。再見,牛頓 --- 我要切換到我的虛拟世界啦!

Joust(1982) LILIENTHAL'S "FLIEGEBERG" (1894)
滑翔
讓我們先讨論無動力飛行
自由落體的跳傘運動可以給我們的自然全身控制滑翔提供靈感。
Para-Gliding SideKick's SkyDive
雙手向後往前滑翔的時候将雙手往身體上貼可以減小浮力和增加降落速度(這也跟雙手的角度有關)。
把雙手放下能減小阻力和加速往前運動,而張開雙手則可以使滑翔減速。
除了手的姿态,身體旋轉也應該能夠同時控制滾轉/俯仰/偏航。
撲翼
雙手向下運動能産生浮力。在我們的簡化模型中 --- 我們可以忽略向上運動(不像鳥類 - 即使沒有收翅膀的過程也是可以的)。不停地做向下運動可以使浮力變得越來越強。
一旦開始飛行,浮力就變成3倍(是以最好的起飛方式,就是先用雙手做激烈的撲打動作并跳起來)
同樣的機制也支援特别的超級跳:如果使用者在簡單跳躍的同時使用了雙手--- 他就可以跳得更高!
建立實體模型
一個完整的實體模型有點殺雞用牛刀的感覺 --- 但一個全面考慮過的簡化模型卻可以将我們需要的行為多樣性都封裝起來。重溫一下高中實體學過的動量,扭矩和三角知識就足夠了(想想你曾經認為這些知識毫無用處...)
我們假定有兩個矩形的無翼"翅膀"
浮力來自翅膀下面的空氣的向上推力。力的大小跟以下因素有關:虛拟的合速度,手的運動和翅膀跟空氣流向量的夾角
雙手向上運動相應會改變翅膀的角度
雙手向下或向後運動則改變翅膀的旋轉
你可以随意引入一些常量,比如翅膀表面,阻力系數和萬有引力常數(g)。這些常數都需要經過調整,直到達到一個和遊戲動力學相比對的有趣體驗。
請注意:你不需要硬體加速的實體引擎來做每一幀的三角函數模拟。。。
宇航員!
我們有噴氣助推器的時候為什麼還要那麼麻煩地用翅膀來飛?我們可以使用雙手來引入拉力,進而形成一個簡單的控制模型。相應手勢如下:
張開雙手減速
雙手一起向前或向後運動來控制俯仰
單手向前另一隻手向後來滾動
單手伸出來改變偏航角度
The Flying Moonman / ahillel
雞和蛋的問題?
好了,我們可以飛了。但這并不意味着就會變得有趣。如果你去玩現有的鳥類/飛龍遊戲,你就會發現大多數都不能帶來飛行上的滿足感。如果太容易飛,就會感覺像是另外一個飛行模拟器;如果太難飛,我們又回到了之前博文提到的“健身還是樂趣?”的問題。我們必須找出一些特别的遊戲動力學來使飛行變得有趣和具有挑戰性。
你可以收集/應用有限的魔法來更新到可以飛行。想象在一個遊戲中你可以吃到一個特别的東西,使得雙手變成翅膀,這樣你拍打得到的浮力就會放大...
對于達爾文主義者,你可以進化并使翅膀慢慢地長大(從雞開始直到能輕易滑翔的鷹 --- 當然這跟自然選擇毫無關系)
或者,你可以創造一個遊戲邏輯,在這裡你不用飛,而隻是走動就可以做到所有事情。你隻允許使用者小飛一段以跳得更高更快,進而打破健身和樂趣之間的平衡。而關卡設計不能鼓勵玩家過度去使用這種飛行能力。
Daedalus and lcarus
OpenNI競技場中一些可自由下載下傳的例子:
參考文獻:
<a target="_blank" href="http://s33.proxycn.co/baidu.com.php?u=a8137e7cc2991fa978aOi8vd3d3LmN0aWUubW9uYXNoLmVkdS5hdS9oYXJncmF2ZS9tYXJleS5odG1s&b=3">Étienne-Jules Marey: http://www.ctie.monash.edu.au/hargrave/marey.html</a>
<a target="_blank" href="http://s33.proxycn.co/baidu.com.php?u=a8137e7cc2991fa978aOi8vcGVvcGxlLmVrdS5lZHUvcml0Y2hpc29uZy81NTRub3RlczMuaHRtbA%3D%3D&b=3">Bird fly lecture: http://people.eku.edu/ritchisong/554notes3.html</a>
<a target="_blank" href="http://s33.proxycn.co/baidu.com.php?u=a8137e7cc2991fa978aOi8vb3JuaXRob3B0ZXIuZGUvZW5nbGlzaC9nYWl0Lmh0bQ%3D%3D&b=3">How Ornithopters Fly: http://ornithopter.de/english/gait.htm</a>
<a target="_blank" href="http://s33.proxycn.co/baidu.com.php?u=a8137e7cc2991fa978aOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL090dG9fTGlsaWVudGhhbA%3D%3D&b=3">Otto Lilienthal: http://en.wikipedia.org/wiki/Otto_Lilienthal</a>
----------------------------------------------------------------------------------------------------------------------------------
原文連結:http://michagalor.blogspot.com/2012/02/part-6-flying.html
-----------------------------------------------------------------------------------------------------------------------------------
關于作者 Micha Galor
“當被問到怎麼定義我自己的時候,我總是很困惑。我的工作包括軟體工程,研究,設計和管理創新的投入。某一天我會簡單地回答:一個發明家”
Micha Galor是PrimeSense公司(Kinect的3D傳感技術提供商)應用和使用者體驗組的經理。他的團隊專注于自然互動研究,包括對一些可實際運作的概念和展示的原型化,定義未來的人機互動語言等令人興奮的工作。在PrimeSense之前,Micha上司Zoran(多媒體晶片商)的數位攝影團隊,開發了應用在幾款熱銷的拍照手機中的數字圖像技術。Micha和他的太太以及兩個小孩一起生活在以色列的特拉維夫。