Showing posts with label Crowd-Simulation. Show all posts
Showing posts with label Crowd-Simulation. Show all posts

2009/06/05

混沌邊緣的藝術-人工生命



引言


二千零八年五月十二日下午二點二十八分,四川省發生8.0級大地震,將近七萬人死亡,造成兩岸華人巨大的恐慌。隔天,有人在網路上公布淡江大學福園鯉魚池的神奇現象-上百隻鯉魚不停地繞圈圈,如圖一所示。無論怎麼用飼料引誘它們,都無法打破它們這樣持續一個月的行為。網路上眾說紛云,有人說是發生大地震的前兆,也有人說是魚類求偶的儀式,更有人說牠們在慶助馬英九坐上總統大位。最後,校方請來鯉魚專家解釋這異相-魚池的換水過濾器壞了,缺少活水注入,導致鯉魚缺氧,牠們才會不停地繞圈圈



 圖一、淡大福園鯉魚不停繞圈圈的神奇現象(video)[1]


循環磨(Circular Mill)
1921年美國博物學家畢比(William Beebe, 1877-1962),在圭亞那(Guyana)叢林便曾目睹類似的現象。當時他發現有一大群螞蟻圍成一圓周約1200英呎的大圈圈爬行,每隻螞蟻至少花兩個半小時才能走完這一大圈。這些螞蟻就這樣盲目地繞了兩天,直到大部分螞蟻力竭身亡,大蟻圈逐漸被打破,倖存的螞蟻才開始找尋其它路徑,此現象被後來的生物學家稱為循環磨(Circular Mill)。生物學家之後在不同實驗室培養的蟻巢中發現相同現象,也發現魚群偶爾也會形成類似的群體行為[2],如圖二所示。


圖二、左圖為蟻群循環磨示意圖;右圖為魚群循環磨示意圖。[2]


螞蟻、魚類與鳥類等群居生物,由於個體觀察範圍有限,為了獵食或反獵食等生存目的,跟隨有限範圍中的同類是最簡單且有效的方法。雖然在極少數情況下,簡單的法則亦可能失誤,而導致循環磨這般盲從的結果(事實上即使號稱具有獨立思考能力的人類,偶爾也會出現盲從行為[3]),但在一般情況下,簡單的法則便足夠牠們成功完成相當複雜的工作。




費洛蒙式的協同行動(Stigmergy)
費洛蒙式協同行動是由法國生物學家格拉斯(Pierre-Paul Grassé)於1959年提出,解釋白蟻如何利用簡單法則,建構複雜且高大的蟻丘,如圖三。



 圖三、兩座大城堡是白蟻們的傑作。[4]


首先,每隻白蟻只是團團轉地跑來跑去,漫無次序地用嘴銜起土粒又隨意放下。漸漸地,有些土粒開始碰巧地堆疊在一起成為微小土堆,如圖四,接著奇妙事情便發生了!



 圖四、白蟻們一開始胡亂忙成一團,其實有特殊用意的。[5]


白蟻們開始持續地將土粒疊放在這些微小土堆上,如蓋柱子一般,瘋狂地堆高土粒,到達一定高度後,柱子開始傾斜並與其它柱子交疊,形成拱券式房間,一間間的套房就如此自然形成,並成為複雜且壯觀的蟻丘,如圖五所示。令人驚嘆的是,上述的建構過程,居然不是來自建築師或藍圖的幫忙!人們一直很難理解,沒有任何領導的低等動物,究竟如何有效分工完成複雜的事情呢?



 圖五、白蟻蓋蟻丘示意圖。[5]


格拉斯發現大自然賦與螞蟻一種神奇天賦-費洛蒙,螞蟻只要善加利用這種天賦與同類互動,便可完成人類看來十分複雜的工作。蓋蟻丘的過程中,每隻白蟻銜起地上土塊時,便會在土塊上留下些許費洛蒙,並且遵循簡單原則堆放嘴中土塊-把土塊放在費洛蒙濃度最高的土堆上,若無法分辨哪裡最高,便隨機選擇一處。簡單法則看似平淡無奇,但互動過程卻是有效又複雜的。因為每一次白蟻的行動,都是一項正回饋(Positive Feedback),而正回饋的最後結果,就是把每隻白蟻動態地引導至正確位置。



自我組織行為(Self-Organizing Behavior)
個體透過簡單規則互動而突現(emergent)複雜有組織的群體現象,被稱做自我組織行為。利用自我組織方式,螞蟻還可以總是找到巢穴附近最豐富的食物來源地,並迅速找出巢穴與食物間最短的爬行路徑。然而,自我組織行為不僅存在螞蟻、鳥與魚群等群居生物世界,事實上近二、三十年來,許多不同領域的科學家幾乎同時發現自我組織的複雜行為,從分子、神經元、細胞、群居動物、社交網路(Social Network)、群眾行為到複雜的經濟活動都可以發現此類突現模式。1984年有一小群來自美國羅沙拉摩斯(Los Alamos)國家實驗室(因曼哈頓計劃而成立,世界最大實驗室之一)的科學家,為發現此突現模式感到興奮,甚至認為這將是繼牛頓古典物理學以來最大的科學革命,進而成立聖塔菲研究院(Santa Fe Institute),認為只要是與強烈互動有關的學問,都將是他們研究範圍。組成成員來自物理學、化學、電腦科學、經濟學、生物學、人類學等領域,其中更不乏多位諾貝爾獎得主,他們深信,他們正在開創二十一世紀新科學。然而創立之初的兩、三年,這群科學家雖有明確的研究方向-複雜系統(Complexity System),但始終無法簡明扼要的形容這門新科學,直到蘭頓(Chris Langton)出現。




混沌的邊緣(The edge of Chaos)
蘭頓是基因演算法的發明人-賀南(John Holland)的博士班學生。最初受到馮紐曼(John von Neumann)與烏蘭(Stanislaw Ulam)發明的細胞自動機理論(Cellular Automata Theory)及康威(John Conway)的生命遊戲吸引,買了一台Apple II電腦,然後自己動手實作一個通用細胞自動機程式,每天下班便坐在電腦前醉心地觀察螢幕上不斷跳動的方格子,如圖六。蘭頓並非只是盲目地看著螢幕上不斷閃礫的格子,他有個在一般人眼中看似極不正常的企圖心-從這些跳動的格子中找尋具有自我複製能力的形態,因為自我複製被視為生命的基本要素




(a)生命遊戲[6]   (b)細胞自動機突現的多樣型態[7]
         圖六、生命遊戲與細胞自動機



起初蘭頓只是從觀察中記錄數個具有自我複製能力的形態,但仍然無法從中歸納出他們共同的特性,儘管如此,蘭頓仍樂此不疲地研究著這些格子。直到有一天他看到天才物理學家沃富仁(Stephen Wolfram)歸納的四種細胞自動機類型,他才發現自己可能欠缺動力系統及混沌的相關知識,並在鑽研這些書籍文獻的同時,也開始調控細胞自動機的系統參數,觀察系統產生的整體行為。


直到有一天,他發現系統參數存在著某個臨界值,當參數小於臨界值時,系統會產生死寂般的停滯塊狀;而參數大於臨界值時,系統便出現混沌狀態。唯有參數維持在此臨界值時,秩序與混沌的勢力相當,結構不斷地成長、分裂、重組,並流動著花式複雜的樣貌。蘭頓發現這現象時大為震撼,因為這與物質二級相變的過程相當類似。從此,蘭頓便開始猜想生命或許便是由這種混沌與秩序拉扯下而突現的某種平衡,並為這類動態平衡的概念命名,稱作「混沌邊緣」。日後,蘭頓到聖塔菲實驗室做博士後研究,「混沌邊緣的突現」有如畫龍點睛般,為複雜科學烙下最初的定義。




 人工生命(Artificial Life)
蘭頓的偉大發現,使他心中開始萌生一個堅定信仰-生命就是一種計算的形式。因此他有個更大的企圖心,他想從電腦中捕捉更多具有生命本質或演化的抽象模型。當時他興高采烈地將此想法向生物學家及電腦科學家尋求認同,卻總是吃上閉門羹。即是在學術資料庫廣泛地搜尋,找到的相關研究也非常有限,偶爾難得找到幾篇令人興奮的論文,卻總是出現在奇怪、冷僻的領域。但他相信世界上某些角落,肯定存在一些擁有類似想法,仍在摸索研究方向,又苦無知音的寂寞靈魂。於是蘭頓決定創辦一個國際研討會來凝聚這些人,一同創辦一門真正的新科學-人工生命。人工生命與人工智慧很類似,但有更大的企圖心,它不是用電腦來模擬思考過程,而是用電腦模擬基本的生物演化方式及生命本身。



柏茲模型(Boids Model)
1987年9月,蘭頓在羅沙拉摩斯籌備的第一屆國際人工生命研討會,得到了廣泛的迴響,共一百五十多名來自世界各地從事相關研究的學者與記者參加。各國學者在會議中都興致勃勃且迫不及待地展現自己獨自摸索多年的寶貝,有人談模擬演化的計畫、有人談胚胎發育的模擬演化、也有人談機器人,不過都沒有雷諾茲(Craig Reynolds)的柏茲模型讓人印象深刻。


雷諾茲從麻省理工學院拿到碩士文憑後,便一直在業界的繪圖部門從事二維與三維動畫的系統設計與研究。工作期間,他驚訝地發現他僅需賦與系統中的柏茲(類鳥,bird-oid)三種簡單的互動規則,並任這些柏茲自由互動,便可輕易地產生擬真的鳥群飛翔行為。1987年7月,雷諾茲將其研究成果發表在電腦圖學最頂級的學術研討會上(ACM SIGGRAPH),產生了極大的迴響,日後並被電腦圖學研究者公認為電腦群體動畫的始祖,今日大家耳熟能詳的魔戒等魔幻史詩般電影大場景,便是利用這類技術所完成。然而雷諾茲的柏茲模型,真正在生物學、物理學、計算社會學、經濟學、機器人學、控制學等眾多領域開始留下深刻印象,是在兩個月後,蘭頓的國際人工生命(Artificial Life)研討會。


雷諾茲受邀於蘭頓,在人工生命研討會上展示他的柏茲模型。柏茲模型中的每隻柏茲(boid),皆具有一個有限的視野範圍並賦與自主運動的能力,當其它柏茲進入自己的有限視野範圍時,便遵循三個簡單的區域性規則(local rule)與其它的柏茲互動[8],如圖七:




1.    避免碰撞(Collision Avoidance): 與鄰近的柏茲保持一個最小距離,以避免碰撞。
2.    對齊速度(Velocity Matching): 和鄰近柏茲的平均速度盡量保持一致。
3.    向中心凝聚(Flock Centering): 向鄰近柏茲的平均位置移動。
   


(a)避免碰撞   (b)對齊速度 (c)向中心凝聚
                  圖七、柏茲遵循的三種簡單區域性互動規則。[9]


電腦模擬開始時,雷諾茲讓柏茲全完隨機散布在電腦螢幕上。緊接著,兩兩相鄰的柏茲便開始一同飛行,並沿路聚集其它的柏茲,自然而然地形成群體飛行的姿態。即使環境中有障礙物,他們也會自動地暫時分開以避開障礙物,並在閃過障礙物後會合、如圖八所示。偶爾柏茲難免撞上障礙物,在原地轉了幾圈而失去方向,不過一旦其它柏茲從旁飛過,它便會立刻重新加入飛行的隊伍,一切看起來都相當地自然。




 圖八、群體飛翔並自動閃避障礙物的柏茲。(video)[10]


當時,研討會的學者們皆目不轉睛地盯著電腦螢幕上飛行的柏茲群體,一方面想確認眼前的群體行為是否可能露出事先透過程式腳本規劃的蛛絲馬跡;另一方面,心想這群柏茲若真無任何監控,僅靠三個簡單的區域法則,便可自發地形成這般複雜群體行為,這將是自我組織、複雜系統最生動、最具說服力的例證!


儘管近年的統計物理學者發現真實世界的鳥群,溝通方式與雷諾茲的柏茲模型並非完全相符[11]。但這毫無損及雷諾茲當年的貢獻,因為柏茲模型已將複雜理論的精神深深烙印在各領域學者的腦海中,並充分展現了簡單就是美的真理。



新的生命觀點
第一次國際人工生命研討會的成功,象徵著人工生命研究領域的正式誕生。蘭頓認為人工生命與傳統生物學恰好是背道而馳,人工生命不是用分析法來解析生命,後者把生物體系分成物種、有機體、器官、組織、細胞及分子等,前者是企圖在人工系統中設計簡單的個體,並組合這些個體來創造近似生命的行為。此外,人工生命重視的是生命可能的形態(life-as-it-could-be),與傳統生物學所重視的已知的生命形態(life-as-we-know-it)有相當大的不同。因為傳統生物學僅是以地球上的生命為基礎所建立的一種實例,然而地球上的生物包括人類的出現,僅僅是最初地球上某種簡單物質所進化的一種結果,這樣的經驗並不能提供我們了解或創立宇宙普適的生命觀點。人工生命想要跳脫這思考侷限,期望藉由電腦或其它機器等新媒介來探索生命所有可能的形式;另一原因是,人工生命相信生命的本質在於形式而不在於具體的物質,只要能夠將物質本身的運作邏輯抽出,並將之賦與某個人工代理人(agent),然後觀察這些代理人彼此互動後所突現(emergent)的行為,便可能從中找到生命可能的形式。



複雜來自簡單
從電腦的模擬過程中,愈來愈多學者發現,極其簡單的元素集合起來,就可能突然出現有趣且迷人的複雜行為。在研討會中,許多人都提到,要產生類似生命的行為,基本單位應愈簡單愈好,且系統中控制的參數應是基本單位的局部法則,而非直接控制群體全域的法則。因為生命是由下而上,透過基本單位彼此平行互動計算,自然而然所突現出的自我組織形態。


筆者因研究需要,曾自行用程式實作了雷諾斯的柏茲模型,並額外賦與系統中每隻柏茲一個自主的向前推力,以解決柏茲落單時的停頓情形。結果發現系統中的柏茲們偶爾會自動圍成一個圈圈,並且不斷的繞行,形成一種動態的平衡,如圖九所示。



圖九、筆者實作的柏茲模型中偶爾突現的循環磨。


起先筆者一直以為是程式中存在著小臭虫(bug)所導致,後來無意間得知循環磨的生物現象,才發現它與筆者的模擬成因和互動結果是巧妙吻和的。二千零八年五月十三日,四川大地震的隔天,筆者在網路上看到淡大福園鯉魚瘋狂轉圈圈被說成地震的異象,後來更被鯉魚專家以缺氧一說作結。筆者嘗試向網友解釋循環磨現象與地震和缺氧無關,這僅是大自然自我組織行為的一種失誤特例,但仍不敵鯉魚專家的缺氧說簡單且更具一般說服力。不過筆著認為科學的核心就是說故事,解釋世界為何是現在所看到的樣子,儘管一般人並不總是願意聽完冗長的科學故事,但只要故事的題材有趣,可以被其它人接下去說並且愈說愈精彩,那麼這個故事就值得一說。



混沌邊緣的藝術-人工生命
二十世紀知名畫家-畢卡索(Pablo Picasso)曾說過一句名言:「我們都知道藝術不是真實,藝術是一則讓我們瞭解真實的謊言。」而人工生命何嘗不也是如此?





參考來源與文獻
[1]    圖片來源:http://towel1988.pixnet.net/blog/post/17580322


[2]    T.C. Schneirla (1944) "A unique case of circular milling in ants, considered in relation to trail following and the general problem of orientation," American Museum Novitates, 1253:1–26.

[3]    S. Milgram(1963) "Behavioral Study of Obedience," Journal of Abnormal and Social Psychology 67: 371–378.



[8]    C. W. Reynolds (1987) "Flocks, herds and schools: A distributed behavioral model, " Proc. of the 14th annual con-ference on Computer graphics and interactive techniques, ACM Press, pp. 25–34.


[9]    C. W. Reynolds (1999) "Steering behaviors for autonomous characters," Proc. of Game Developers Conference.


[10]    圖片來源:http://www.red3d.com/cwr/boids/ 雷諾茲的官方網站,此站還存有二十年前製作的柏茲展示短片。


[11]    M. Ballerini, N. Cabibbo, R. Candelier, A. Cavagna, E. Cisbani, I. Giardina, V. Lecomte, A. Orlandi, G. Parisi, A. Procaccini, M. Viale and V. Zdravkovic (2007) "Interaction ruling animal collective behavior depends on topological rather than metric distance: Evidence from a field study," Proceedings of the National Academy of Sciences of the United States of America.

2008/04/26

可產生Autonomous Crowd的商業軟體

Massive
目前最多電影採用的軟體,如:魔戒、機械公敵、大金鋼、惡靈堡3、刺殺據點等,有不少群體場景是用massive製作的。

AI.implant
去年電腦動畫課,在suvery怎麼做人群動畫時意外發現的,印象中它最初是Maya的plugin,但現在好像也可以拿來設計遊戲,youtube可以查到很多用這軟體製作的demo。

DI-Guy
Autonomous Pedestrians, Eurographics/ACM SIGGRAPH SCA 2005這篇paper看到的,由Boston Dynamics這家公司所開發。最初的銷售對象是美國軍方,比起前兩者稍微陽春了一點。

Crowd Maker
免費的Maya Mel Script利用particle的方式產生crowd,但無autonomous的性質。


2008/12/16
以下轉自http://www.nairaland.com/nigeria/topic-13719.0.html
voldemort 所發言:

Why not try the open source program Blender - freely available for download at: http://www.blender.org
You can check out some demos on that site or at http://www.youtube.com/watch?v=WruTNnF6Ztg
Major film producers and 3D artists (independent or not) in USA, Canada and elsewhere use Maya, 3DSMax, Lightwave etc and also Blender!

Other software mentioned in wikipedia for crowd simulation etc.
    * BlenderPeople, free software for crowd simulation usable with the Blender animation suite
    * NetLogo, a free software for multi-agent modeling, simulation, and the like.   http://ccl.northwestern.edu/netlogo/
    * MASSIVE, the software used in The Lord of the Rings films. http://massivesoftware.com/
    * CrowdIT, Crowd tool for 3d studio Max http://www.crowdit.worldofpolygons.com/
    * SpirOps Crowd, Crowd tool and AI middleware used in Splinter Cell - Double Agent game. http://www.spirops.com/
    * Micro-PedSim, microscopic (multi-agents) pedestrian traffic simulation. http://people.revoledu.com/kardi/research/pedestrian/MicroPedSim/download.htm

2008/04/06

Outstanding Women in Crowd Simulation

今天無意間看到Soraia Raupp Musse的照片,才驚覺她居然是位女性。
這麼算來,在Crowd Simulation領域一共就有三位知名的(常在相關研究被引用的作者)女性了。而且她們的指導教授在Computer Animation領域都是超大咖的。

第一位當然非中國藉的涂曉媛莫屬,成名之作就是曉媛的人工魚,她的人工魚不管是在Computer Animation, Artificial Life, Crowd Simulation都引起很大的注意。
Google scholar查到的引用就有435筆。至今的業界應用也相當多,但是一時找不到相關連結,以後再一一補齊。
其它的相關介紹請參照我之前寫的Artificial Fishes -涂曉媛 一文。
指導教授:Demetri Terzopoulos
成名之作:"Artificial Fishes: Physics, Locomotion, Perception, Behavior", ACM SIGGRAPH 1994
著書:"Artificial Animals for Computer Animation"
現況:開了一家叫AiLive的公司,主要研究Aritficial Intelligence & Machine Learning在Game上的應用,相關介紹請參照我之前寫的涂曉媛創建的公司 - AiLive
 


第二位就是開頭提到的巴西藉Soraia Raupp Musse (VRLAB的舊網站),只要是做Crowd Simulation研究的,應該或多或少都看過她幾篇paper。(我第一篇看的paper就是她的..XD)因為她在Crowd Simulation的paper算是最多產的。
指導教授:Daniel Thalmann
成名之作:"Groups and Crowd Simulation", ACM SIGGRAPH 2005 Courses
著書: Crowd Simulation(算是全世界第一本Crowd Simulation的專書,2007/10/30出版)
(去年七月我在網路上知道這本書將要出版,很興奮的在weekly report 中告知我的指導教授,也順便向學校圖書館推薦此書,推薦了兩次學校才同意購買,但是到現在書都沒來呀,真想看看這本書的內容..>,<)
現況:回巴西的大學當教授去了


第三位最年輕應該是英國藉的Nuria Pelechano,從2005~2008都有看到她crowd simulation的paper,(她2008前crowd simulation的paper我都看過了,也在上學期Group Meeting報告過...XD),主要的focus在Crowd Evacuation,是目前Crowd Evacuation相關模擬中最真實的。
指導教授:Norman I. Badler
成名之作:"Controlling Individual Agents in High-Density Crowd Simulation", Eurographics/ACM SIGGRAPH SCA 2007
著書:Virtual Crowds: Methods, Simulation, and Control (2008/10出版)    <-- 2009/4/23 updated
現況:在美國的Universitat Politecnica de Catalunya (UPC) 擔任助理教授


去年去參加高雄的CGW 2007,才知道台灣除了我老闆外,也有人做Crowd Simulation唷~
而且也是兩位女生,指導教授是清大的楊熙年教授(也算國內Computer Animation的大咖)。

結論:做Crowd Simulation領域的女生還蠻多地,而且都做的相當不錯。
去年聽說好像也有女生想找我老闆做人群模擬,但因為我老闆收滿了,所以就沒下文了,真是可惜!! XD


p.s. (2009/4/23 updated)
最近收到不少對岸朋友寄來的e-mail,才知道crowd simulation在對岸還蠻多實驗室做的。
而且是被重視的一塊,主要focus在crowd evacuation。
畢竟在中國大陸這種人口眾多的地方,crowd evacuation是具實用價值的研究領域。

2007/10/24

Study Notes: Intuitive Crowd Behaviour in Dense Urban Environments using local Laws

Author:Celine Loscos, David Marchal, Alexandre Meyer

Source: Proceeding of TPCG 2003
Keyword: Pedestrian Simulation, Collision Detectino, Flows Grid, Dense Crowd


Flows
According to observing in everyday life, when congestion occurs, people tend to follow the person in front of them. This is because we trust that the person in front of us probably made the right direction.

The flows as a direction field which stored into the 2D grid. The direction of agent has stored as soon as it reach a cell. This direction field then fades over time to completely disappear. When an agent reaches a cell, it checks which direction was chosen by a previous agent and when. It then uses this information to make its own decision. The direction field is updated depending on this new direction, but taking into account for the previous direction stored.



Adaptation to density
The density factor influences decisions when pedestrians are to collide with one another.




Group Behavior
They define a group by a leader and members which have the same average speed and way of accelerating.
The leader decides which the direction to take, and the members follow. Members still perform collision detection, but their choice is influenced by the leader.

The group move in a sequential way: the leader of a group always moves first. Once it has moved, it tags three tiles behind its position with an advised tile flag. Then the member of the group will move one by one in the same frame: they have to move to the advised tile.

2007/10/23

Study Notes: Crowd Self-Organization, Streaming and Short Path Smoothing

Author:Stylianou Soteris, Chrysanthou Yiorgos

Source: Journal of WSCG vol.14, 2006

Keyword: Crowd Navigation, Behavioral Navigation, Pedestrian Simulation





The focus of this paper is on the collective behavior of pedestrians.



Problem
In general path-planning algorithm are not a good option for dense crowd navigation because continuous replanning would be needed due to the high number of dynamically moving objects.

The flow grid mechanism is introduced to simplify navigation and enable crowd self organization.


The avatars avoid area of high density or high opposing flow, thus lane formation takes place.




Measuring the Flows
The flow grid measures the densities of pedestrians and their velocities at various directions.


Each avatar registers his position and velocity on the flow grid as soon as he moves to a new position.

The velocities are separated into X and Z axis components. Positive and negative axis are stored separately, Thus four velocity values are stored at each point, (+Vx, -Vx, +Vz, -Vz).

Each avatar is registered on the grid by distributed his density and velocity to the 4 neighboring points as shown in figure below.






Using the Flow Grid to Navigate
The flow grid is used to extract information for navigation purposes.

Densities and velocities are interpolated between grid positions when information is needed at any in-between point.

By consulting the flow grid at regular intervals the avatar choose to head for the area with smaller density and smaller opposing flow.

To help the avatar decide which area is best, a special weight formula has been constructed. This formula is explained in the box below:




The weights are calculated each time the avatar needs to find a new intermediate destination.

The spot with the lowest weight is chosen as a temporary local target.

2007/08/08

Study Notes:Simulating Dynamical Features of Escape Panic

這是一篇知名的paper,曾榮登Nature期刊2000年的封面主題,作者是Dirk Helbing等人。



這篇paper亦是人群模擬的必讀經典之一,之前看過不少paper的reference中都免不了引用這篇。
許多人群逃難模擬的研究,皆是延伸此篇paper的工作。


核心Model如下圖:



 模擬結果:

圖A 圖B 圖C
圖A 圖B 圖C
  1. 逃生時門口人群呈弧形堵塞,與現實情況一致,如圖A。
  2. 逃生門增寬,將增加人群在出口的碰撞摩擦,如果有人跌倒將降低逃生速度,如圖B。
  3. 逃生路口增加,對於人群逃生並無顯著效果,如圖C。
  4. Faster-Is-Slower effect:當individual的渴望移動速度提升時,會加速在門口形成弧形堵塞,
    人群總體的逃生速度反而是降低的。
  5. 當所有individual各自找尋逃生路線時,因為逃生過程的互撞次數大幅增加,
    因此人群逃生速度差。
  6. 當所有individual都選擇跟隨他人時,找到正確路口的時間延後了許多,
    並極易在門口形成堵塞,人群逃生速度很差。
  7. 當人群中有一部分人主動找尋出口,另一部分人則跟隨他人,總體逃生的時間最短。
  8. 所有individual的基本屬性皆相同,只有直徑有些微不同[0.5m,0.7m],
    為避免力平衡產生的僵局。

2007/06/12

電腦動畫-期末project

我的人群終於以3d姿態登場...

2007/06/09

Maya instancer(Replacement)小筆記

1.製造particles (使用particle tool or Emitter皆可)

2.Create->Locator

3.選擇particles及locator,再選擇Particles->Goal

4.使用instCopy Mel將animation的每個frame獨立出來成為多個model,
供instancer參考,便可製造particle的local motion

5.選取Model(選肉不是選骨架)再選particles,
按Particles->Instancer(Replacement),便可將particle以local motion取代

6.將Model隱藏(visible =false)

2007/06/07

Crowd / Flocking in Maya

找到一篇跟Fake3D學長教我的一樣,果然是英雄所見略同....
不過不管哪一種,對我這個Maya新手而言,實作起來都不容易...

以下轉錄自http://bbs.cgblog.com.cn/thread-19155-1-1.html

maya particle instance 動畫

maya中做particle instance的動畫主要有兩種方式,

一種是直接instance帶Animation curve的物體,
這種方式的優點在於可以對particle instance物體做motion blur.
但對物體的動畫控制能力很弱.當物體要實現多種多樣的動畫時,就非常麻煩了,
可能會用到用expression控制trax.
我一般只用在大群昆蟲飛舞,動畫單一,要渲motion blur時使用.

第二種方法是把動畫物體的第一幀都bake出來.如物體有30幀動畫,那麼就bake成30個物體.
用object index來控制物體的動畫.這樣還可以根據條件讓物體做出不同的反應.
非常方便,這種方式是最常用的.
缺點就是因為前一幀和後一幀都是顯示的不同物體,所以不能做motion blur. 只能在後期中加...
但這種方式是最常用的.

其實還有一種用得較少的方式,用sprite方式,,製作很複雜,只適合particle數量巨大的群體動畫

先對物體的每個動畫做立體360度的渲染(如果有一個24幀的動畫,
那最後要渲出24x360x360幀畫面.=_= 很多啊.
當然也可以不用這麼精細,比如相隔5度渲一張就是24x120x120 也不少啊.)
然後用sprite的方式,根據每個sprite的世界坐標和camera的世界坐標相計算,
得出sprite相對於攝像機的角度,然後再求出對應的那幀圖片.
超級麻煩..而且會因為camera的遠近在透視上會發生點小問題
(數量多時也看不出來,近景的,可以instace幾個實體模型.最後合成上去).
不過這是數量巨大的群體動畫的惟一解決辦法.