• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      從舞譜到人體動畫制作:“拉班舞者”項目*

      2022-05-05 07:06:26加拿大拉斯威爾克湯姆卡爾弗特朗達雷曼艾琳??怂?/span>英曼莉
      當(dāng)代舞蹈藝術(shù)研究 2022年3期
      關(guān)鍵詞:關(guān)鍵幀舞者姿態(tài)

      [加拿大] 拉斯·威爾克 湯姆·卡爾弗特 朗達·雷曼 艾琳·??怂?撰 英曼莉 譯

      一、引 言

      “The dance is unhappily an illiterate art; it knows nothing of yesterday; it cares nothing for tomorrow.”

      “不幸的是,舞蹈是一種文盲的藝術(shù);它對昨天一無所知;它對明天毫不關(guān)心。”

      ——《紐約時報》,1932年12月4日

      在舞譜系統(tǒng)出現(xiàn)之前,舞蹈被認(rèn)為是一種瞬間的藝術(shù)。舞譜允許對舞蹈進行客觀地記錄,就像樂譜允許作曲家對音樂作品的意圖進行說明一樣。雖然有許多舞譜系統(tǒng)存在,但最常見的是拉班舞譜和貝耐什記譜法 (Benesh Notation)。前者在北美最常見,位于紐約的美國舞譜局(Dance Notation Bureau,DNB)63年來一直致力于創(chuàng)造、保存和傳播這種系統(tǒng)地記錄舞蹈的舞譜(美國舞譜局官網(wǎng)地址:www.dancenotation.org)。由此產(chǎn)生的檔案為學(xué)者、學(xué)生、表演者和公眾提供了一個容易獲得的、詳細(xì)的舞蹈記錄,使人們能夠以一種其他媒介無法實現(xiàn)的方式研究舞蹈。

      雖然舞譜是舞蹈重建和舞蹈研究的基礎(chǔ),但不幸的是,很少有舞蹈家或編舞者能讀舞譜,而有能力寫譜的則更少。因此,許多人已經(jīng)意識到,如果有一個基于計算機的工具將舞譜制作成動畫,將會有相當(dāng)?shù)膬?yōu)勢。這一設(shè)想最早可以追溯到20世紀(jì)60年代,諾爾(Noll)在《舞蹈雜志》(Dance Magazine)上發(fā)表的文章①NALL A M.Choreography and Computers[J].Dance Magazine,1967(7):43—45.,以及默斯· 坎寧漢(Merce Cunningham)在同一時期的探討②參見:CUNNINGHAM M.Changes/Notes on Choreography[M].New York:Something Else Press,1968.。第一次嘗試將計算機應(yīng)用于拉班舞譜應(yīng)該是1974年,西蒙弗雷澤大學(xué)(Simon Fraser University)的澤拉· 沃洛夫斯基(Zella Wolofsky)的碩士學(xué)位論文《計算機對選定的拉班舞譜符號指令的詮釋》(Computer Interpretation of Selected Labanotation Commands)③參見:WOLOFSK Z.Computer Interpretation of Selected Labanotation Commands[D].M Sc thesis,Simon Fraser University,1974.。隨后,有一定數(shù)量的項目都集中在對拉班舞譜不同方面的詮釋上④參見:BADLER N,SMOLIAR S.Digital Representations of Human Movement[J].Computing Surveys,1979(1):19—38;BROWN M,SMOLIAR S,WEBER L.Preparing Dance Notation Scores with a Computer.Computers and Graphics[J].1978(1):1—7;CALVERT T W,CHAPMAN J.Computer Assisted Notation of Human Movement[C]// Proceedings of 1978 ACM Conference,1978:731—736.。

      在開發(fā)基于計算機的拉班舞譜的解釋方法的同時,人們也在努力實現(xiàn)協(xié)助創(chuàng)造和編輯舞譜系統(tǒng),以及其他專門協(xié)助編舞的工具?!袄鄬懽鳌本庉嬈魇嵌砗ザ碇萘⒋髮W(xué)露西· 維納布爾(Lucy Venable)領(lǐng)導(dǎo)開發(fā)的⑤VENABLE L,SUTHERLAND S,ROSS L,TINSLEY M.LabanWriter 2.0[P].Ohio State University,1989.,而在西蒙弗雷澤大學(xué),湯姆· 卡爾弗特(Tom Calvert)帶領(lǐng)了一個開發(fā)各種人類動畫技術(shù)的團隊⑥CALVERT T W,WELMAN C,GAUDET S,et al.Composition of Multiple Figure Sequences for Dance and Animation[J].The Visual Computer,1991:114—121.?!袄鄬懽鳌本庉嬈骼昧水?dāng)時相對便宜的蘋果電腦(Macintosh computer)圖形功能,為創(chuàng)建和編輯拉班舞譜譜子提供了一個簡單而直觀的、類似文字處理的系統(tǒng)。麥克貝耐什(MacBenesh)—一個為貝耐什記譜法開發(fā)的類似寫作系統(tǒng)—由滑鐵盧大學(xué) (Waterloo University)的朗達· 雷曼(Rhonda Ryman)和她的同事研發(fā)⑦RYMAN R,HUGHES-RYMAN R.The MacBenesh Editor:A Word Processor for Benesh Notation[J].Dance Notation Journal,1986(2):16—26.。大約在同一時期,“生命形式”也被開發(fā)出來(Life Forms)(www.danceforms.com),為編舞者和動畫師提供了一個簡單的、對用戶友好的系統(tǒng),以試驗動畫人物的運動模式。學(xué)生、記譜員、教育工作者和編舞者都在使用“拉班寫作”和“生命形式”,許多人建議將它們聯(lián)系起可以通過其他渠道獲取舞譜創(chuàng)造、編輯符號以及制作動畫的詳細(xì)資料⑧參見:GRAY J.Dance in Computer Technology:A Survey of Applications and Capabilities[J].Interchange,1984(4):15—25;HUNT FES,PLITIS G,HERBISON-EVANS D.LED & LINTER:An X-WINDOWS Mini-Editor and Interpreter for LABANOTATION[R].Technical Report 343,Basser Department of Computer Science,University of Sydney,2003;University of Birmingham.Calaban Project[EB/OL].(2005—07—01) [2022—05—07].http://www.bham.ac.uk/calaban/frame.html;CALVERT T,WILKE L,RYMAN R,et al.Applications of Computers to Dance[J].IEEE Computer Graphics and Applications,2005(2):6—12.。

      本文描述了“拉班舞者”系統(tǒng)的開發(fā)—一個將拉班舞譜動畫化的工具?!袄辔枵摺钡妮斎胧莵碜浴袄鄬懽鳌睉?yīng)用程序的數(shù)字化舞譜,用于生成和編輯拉班舞譜。在開發(fā)制作新的解釋系統(tǒng)時,我們尋求能正確處理絕大多數(shù)運動情況并能識別運動情景的通用技術(shù)。

      二、拉班舞譜

      魯?shù)婪颉?拉班(Rudolf Laban)在他的時代是一位杰出的編舞家和舞蹈家。1928年首次發(fā)表了《拉班記譜法》(Kinetography Laban),這是一個表示人體運動的符號系統(tǒng),后來被人熟知為拉班舞譜。該系統(tǒng)是現(xiàn)代關(guān)鍵幀動畫系統(tǒng)的先驅(qū),因為它能在清楚的時間點上捕捉身體各部位的位置信息。

      某一特定肢體的姿勢或姿態(tài)是由寫在頁面上的九個方向形狀(九個之一),再加上水平高度(Level)來確定的,水平由填充形狀內(nèi)的陰影表示。形狀符號的長度決定了完成該姿勢所需要的時長。這些符號被安置在一個三線譜譜表(Staff)上,靈感來自五線樂譜。舞譜需要從下往上讀,而不是從左往右讀;底部的雙橫線表示動作順序的開始;頂部的雙橫線表示動作結(jié)束。底部雙橫線下面的符號表示起始位置。如同樂譜一樣,三線譜被劃分為小節(jié),小節(jié)的時長由速度和每小節(jié)的節(jié)拍數(shù)來確定。一個或多個三線譜可以被安排成一個譜子,每個三線譜代表一位舞者的動作(見圖1)。圖1顯示了一位舞者的舞譜示例圖。

      圖1 拉班舞譜的三線譜表

      在水平方向上,三線譜被分為幾個欄目(column),將符號歸入它們所對應(yīng)的身體部位。這些欄目從三線譜的中心線往外排列,代表身體的左右對稱性。

      拉班舞譜以一種獨特的方式使用最靠中間兩欄的符號。在這里,這些符號描述了身體重量的方向是從一個支撐部位(通常是腳)轉(zhuǎn)移到另一個支撐部位,從而確定了主體的運動。水平高度表明該步伐是以屈膝、直腿還是立腳尖的方式進行。與姿態(tài)符號一樣,符號的長度表示執(zhí)行該步伐所需的時間。在垂直方向上,符號之間的空白意味著主體已經(jīng)離開了地面,如跑步、跳躍或跨跳步。

      拉班舞譜提供了大量的輔助符號,可以用來修飾主要符號、小節(jié)和欄目的含義。附加符號用來表示舞臺上主體的安排(舞臺平面圖)和他們采用的路徑,或者表示實體(肢體或?qū)ο螅┲g的空間關(guān)系。特殊的符號用來表示一個肢體所影響到的方向或轉(zhuǎn)動,而不是它所在的欄目所暗示的那個肢體。因此,拉班舞譜可以提供任意數(shù)量的細(xì)節(jié)說明。它可以快速地粗略一筆帶過動作,也可以明確到手指上的關(guān)節(jié)位置來描述一個動作。這些可以在安· 哈欽森· 蓋斯特(Ann Hutchinson-Guest)的書中找到關(guān)于拉班舞譜系統(tǒng)的完整描述①參見:HUTCHINSON-GUEST A.Labanotation or Kinetography Laban:The System of Analyzing and Recording Movement[M].New York:Theatre Arts Books,1970.,美國舞譜局官網(wǎng)也有教程。

      三、“拉班寫作”應(yīng)用程序

      “拉班寫作”是一個建立于蘋果電腦的2D圖形編輯器,專門用于創(chuàng)建拉班舞譜的譜子。由俄亥俄州立大學(xué)舞蹈系的露西· 維納布爾教授領(lǐng)導(dǎo),和團隊成員斯科特· 薩瑟蘭(Scott Sutherland)、大衛(wèi)· 拉利(David Ralley)與喬治· 卡爾(George Karl)一起開發(fā)(可 從https://dance.osu.edu/research/dnb/laban-writer免費下載)。用戶在“拉班寫作”的虛擬頁面上創(chuàng)建一個或多個譜表,并從選項板中選擇拉班舞譜符號。符號被放置在相對應(yīng)的身體部位的欄目上。用戶可以拉伸或壓縮方向并改變符號的長度,持續(xù)時間由其垂直長度表示。修飾符號被放置在它們所修改的主要符號的底部或欄目的位置—這操作在本質(zhì)上容易出錯。

      “拉班寫作”中使用的拉班舞譜符號被視為二維圖形對象,大致分為兩個子類別—可伸縮的符號和固定尺寸的符號。可伸縮的符號,如方向和轉(zhuǎn)動符號和時長有關(guān),而固定尺寸的符號通常修飾或指定舞譜的欄目、小節(jié)或總譜的其他方面。在“拉班寫作”中存儲的符號并沒有明確的欄目和時間信息—符號的笛卡兒位置(Cartesian position)①笛卡兒位置用于繪制二維,即 X(高度)和Y(寬度)位置。被用來縮短其欄目和小節(jié)。因此,美國標(biāo)準(zhǔn)信息交換代碼(American Standard Code for Information Interchange,ASCII)的“拉班寫作”文檔只用于屏幕上的圖形設(shè)計,不包含關(guān)于拉班舞譜的結(jié)構(gòu)、舞蹈或人體運動的知識。關(guān)于“拉班寫作”文件格式的詳細(xì)描述可以在以下網(wǎng)址找到:https://www.dance.ohio-state.edu/labanwriter/LW4/LW44FileFormat.html。值得注意的是,文件中的每條記錄都包含了繪制符號的所有必要信息,如類型、位置、尺寸大小、顏色、特殊字體等。在數(shù)據(jù)流中,信息是按照用戶放置的順序排列的,沒有任何特定排序?!袄鄬懽鳌笨梢源蛴〕隼辔枳V的譜子,或者以三種通用的圖形文件格式(PNG、PICT或JPEG)之一儲存為二維光柵圖像。這個圖形文件被微軟視窗版本的“拉班舞者”用來作為展示舞譜的手段。

      四、“拉班舞者”應(yīng)用程序

      “拉班舞者”是我們開發(fā)的獨立應(yīng)用程序的名稱,致力于將“拉班寫作”文檔轉(zhuǎn)化成單一人體圖像的動畫,包含了翻譯所需的所有算法的實現(xiàn)。以下是對這些算法的描述。

      五、將“拉班寫作”的符號解析為一個綜合舞譜

      要將“拉班寫作”的文檔轉(zhuǎn)化為動畫,首先需要將一串圖形符號轉(zhuǎn)化為一組在拉班舞譜環(huán)境下有意義的數(shù)據(jù)對象。這些數(shù)據(jù)對象按照運動符號的開始時間和它們所在的欄目進行排序,因為這表示相對應(yīng)的身體部位。同時收集修飾符號,然后根據(jù)它們的接近程度與它們所修飾的符號或相關(guān)欄目進行關(guān)聯(lián)。由此產(chǎn)生的數(shù)據(jù)對象被放置在一個數(shù)據(jù)結(jié)構(gòu)中,該結(jié)構(gòu)概念上類似于拉班舞譜的譜子,其組織方式與動畫中常用的通道數(shù)據(jù)結(jié)構(gòu)大致相同。

      這個綜合舞譜數(shù)據(jù)結(jié)構(gòu)包含一個通道圖(根據(jù)舞譜的欄目生成),每個通道都與不同的肢體或支撐相關(guān)。每個通道內(nèi)的符號按時間排序,每次輸入都包含所有可能的修改信息。輔助信息,如時間、路徑或關(guān)系,也存儲在數(shù)據(jù)結(jié)構(gòu)外的符號通道中。為了完成這個階段,數(shù)據(jù)對象時間可以根據(jù)上下文的規(guī)則調(diào)整,以反映姿勢的真實時間。

      六、“拉班舞者”模型

      在“拉班舞者”中,人體動畫是基于骨架層次的、可變形的多邊形網(wǎng)格模型。骨架的關(guān)節(jié)角度由關(guān)鍵幀動畫通道控制,另外還用了四個逆向運動學(xué)鏈來驅(qū)動手臂、腿、腳和手。為達成此目的,選擇運動學(xué)算法(Inverse Kinematics using A Nalytical solutions,IKAN)②TOLANI D,GOSWAMI A,BADLER N.Real-Time Inverse Kinematics Techniques for Anthropomorphic Limbs[J].Graphical Models,2000:353—388.,該算法專門用于控制有七個自由度的模擬的人類肢體,具有確定解而非迭代解。

      表現(xiàn)腳和手的位置與方向的終端控制器由關(guān)鍵幀通道控制。這些通道具有線性插補和圓弧插補位置的附加功能,可在姿勢與姿勢之間創(chuàng)建可信路徑。

      骨架結(jié)構(gòu)中的根關(guān)節(jié)點(如髖關(guān)節(jié))的全局位置由一個三維貝塞爾曲線(Bezier curve)③一種用于計算機圖形學(xué)和相關(guān)領(lǐng)域的參數(shù)曲線,參見:MORTENSON M E.Mathematics for Computer Graphics Applications[M].2nd ed.New York,NY:Industrial Press,1999.控制,其參數(shù)由后面討論的腳步算法決定。

      “拉班舞者”對身體種類沒有限制。只要它們具有相同的運動學(xué)模型,就可以進行動畫制作。目前有四個單獨的模型,由兩位女性和兩位男性組成,為現(xiàn)代舞和古典舞定制。

      七、從綜合舞譜到動畫

      一旦源自“拉班寫作”的文檔轉(zhuǎn)化合成舞譜,所產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)的符號通道將被遍歷。特定身體部位遇到的每一種符號類型都有一個單獨的規(guī)則來處理,這些規(guī)則將姿態(tài)、轉(zhuǎn)動和支撐轉(zhuǎn)化為肢體的關(guān)鍵幀、終端控制器或步伐的位置和時間信息。下面的內(nèi)容提供了一些詳細(xì)資料。

      (一)從姿態(tài)到關(guān)鍵幀

      盡管拉班舞譜可以指定任何的肢體姿勢細(xì)節(jié),但是方向符號只定義大部位的姿態(tài),如整只手臂或整條腿,也可以用修飾符號來定義伸展或彎曲(例如,肘部彎曲的程度)。使用查找表可以很容易地將姿態(tài)符號轉(zhuǎn)化為球面坐標(biāo),用于確定腿和手臂的球面關(guān)鍵幀。由于拉班舞譜姿態(tài)符號的坐標(biāo)系在全局術(shù)語定義為上下,但在主體面對不同方向時重新定義前后、左右,因此增加了一些復(fù)雜性。查找表也提供手和腳的默認(rèn)方向,可將符號類型與方向聯(lián)系起來。

      不能直接從符號在舞譜上的確切位置來翻譯符號的時間,而必須根據(jù)相關(guān)的前后動作來解釋,這是翻譯拉班舞譜反復(fù)出現(xiàn)的一個問題。例如,雖然一個姿勢被記錄在一個拍子里,但通常動作發(fā)生的時間是在拍子開始前,并在拍子上到達。這可能是因相鄰或隨后的符號而產(chǎn)生變化,例如,手臂姿態(tài)必須與腿部姿態(tài)同步,而腿部姿態(tài)又受到支撐符號的制約(如在腿部姿態(tài)接觸地面成為下一個支撐前,須留出足夠的時間來完成腿部姿態(tài))。

      與姿態(tài)有關(guān)的另一個復(fù)雜情況是,肢體在姿態(tài)之間有必須遵循的路徑。一般來說,對于手臂的姿態(tài),手的路徑應(yīng)該遵循一條弧線。當(dāng)兩個連續(xù)的手臂姿態(tài)方向相差180°時,如手臂從前中到后中方向時,手會沿著一條直線到肩部,肘部會彎曲,然后展開手臂,試圖達到后中方向的位置。類似的,腿部姿態(tài)通常遵循以臀部為頂點的圓錐形路徑,但在極端的姿態(tài)之間會遵循一個更復(fù)雜的路徑。

      在拉班舞譜中,姿態(tài)也可指定為肢體的子部分(如上臂、前臂、手指)。這在實踐中可以使用模型中每個關(guān)節(jié)的單獨關(guān)鍵幀控制器來實現(xiàn),但目前尚未完成,因為必須設(shè)計一些途徑在逆向運動學(xué)(整個肢體)和正向運動學(xué)(部分肢體)動畫源之間無縫鏈接。

      一般來說,腿部和手臂的姿態(tài)是以同樣的方式生成的;然而,腿部姿態(tài)有一個特殊問題,因為它們必須被整合到處理支撐變化(即運動)的系統(tǒng)中。這種整合將在隨后的內(nèi)容中討論。

      (二)腳步的支撐變化

      在拉班舞譜中,符號顯示在一段時間內(nèi)由哪個肢體部位支撐身體,以及運動的方向(如果有的話)。例如,腳和腳之間的支撐變化,結(jié)合向前的運動,就會產(chǎn)生向前走或跑。因此,這個符號并沒有明確規(guī)定相關(guān)肢體的彎曲和延伸,而是留給聰明的舞者去判斷實現(xiàn)特定方向的支撐變化所需的動作。為了生成動畫,我們必須找到從支撐變化中推斷出肢體運動的方法。

      首先我們探索了一種方法,該方法以通常用于過渡的動畫序列存儲數(shù)據(jù)庫為基礎(chǔ)。格雷切(Gleicher)等也采用了相似的方法,從運動捕捉數(shù)據(jù)中合成任意的運動路徑①GLEICHER M,SHIN HJ,KOVAR L,et al.Snap together Motion:Assembling Run-Time Animation[C]// Symposium on Interactive 3D Graphics,2003.KOVAR L,GLEICHER M,PIGHIN F.Motion Graphs[J].ACM Transactions on Graphics,2002(3):473—482.。這在很多方面都很有效—舞譜專家可以創(chuàng)建一個關(guān)鍵幀動畫序列來實現(xiàn)所需要的運動轉(zhuǎn)換。我們采用了本質(zhì)上屬于有限狀態(tài)機的模型,形成一套固有模式。遺憾的是,擴展性不是很好,因為可能的轉(zhuǎn)換數(shù)量隨著運動的復(fù)雜性而呈指數(shù)式增長。拉班舞譜的支撐符號只指定了從當(dāng)前狀態(tài)開始移動,因此相同的符號模式可以導(dǎo)致完全不同的動作,這取決于在遇到符號之前舞者的狀態(tài)。

      對所有第一次接觸拉班舞譜的人來說,支撐的變化和腳步之間的相似之處是顯而易見的。而這種相似性表明,還存在第二種將舞譜轉(zhuǎn)化為動畫的方法。事實上,人們已經(jīng)開發(fā)了一些從腳的位置和時間來重建雙足運動的一些技術(shù),包括吉拉德(Girard)②參見:GIRARD M.Interactive Design of 3D Computer-Animated Legged Animal Motion[J].IEEE Computer Graphics and Applications,1987(6):39—51.,以及最近的米歇爾· 范· 德· 潘內(nèi)(Michiel van de Panne)③VAN DE PANNE M.From Footprints to Animation:Computer Graphics Forum[J].1997(4):211—223.。我們采用的正是這第二種技術(shù),它既簡單又能產(chǎn)生高度可信的結(jié)果,可通過調(diào)整來滿足轉(zhuǎn)化的要求。

      范· 德· 潘內(nèi)的算法在優(yōu)化過程中改變了樣條曲線的參數(shù),試圖找到一個受簡單動態(tài)模型和所謂的舒適項約束的質(zhì)心(COM)的平滑路徑。優(yōu)化過程中,誤差項最小化計算公式如下:

      方程式中εphysics是質(zhì)量加速度的組成部分,它不能通過腿部的簡化模型(即連接與COM接觸點的線)來實現(xiàn)。圖2和圖3顯示了單腿站立和雙腿站立的圖解。εcomfort只是一種對腿部必須伸展或彎曲多少才能達到接觸位置的度量。

      圖3 雙腿站立

      支撐符號到腳步位置和時間的轉(zhuǎn)換是相當(dāng)直接的。支撐符號本質(zhì)上指示了下一步的方向,并被定位在譜表上的某個絕對時間。相比之下,腳步的位置是絕對的,但時間總是和最后的腳步相關(guān)。為了確定下一個腳步的位置,我們只需假設(shè)一個適合當(dāng)前身體模型的步長,并將其乘以步進方向矢量。雖然這是該過程的本質(zhì),但步長也取決于其他因素,如邁步的方向。一個人通常向前邁出的步伐要比向側(cè)面邁出的步伐大。同樣,步伐的水平高度也很重要,立腳尖邁出的步伐比全腳邁出的步伐要小。如果實驗對象在跑步或單腳跳,步長也會增加,這在舞譜中以空中時間表示。實驗對象在空中的時間越長,步長(腳的位置到一個點的長度)就越大,單腳跳躍產(chǎn)生的步長比跑步小得多。實現(xiàn)自然步幅的算法通過試錯進行了優(yōu)化,從系統(tǒng)的表現(xiàn)可以看出,結(jié)果總體上是令人滿意的。

      在生成腳步位置和時間后,優(yōu)化器被運行以生成質(zhì)心路徑。接下來,為腳步生成關(guān)鍵幀,以便在正確的時間實現(xiàn)腳步位置,并在步態(tài)的騰空階段指定腳的位置。反向運動學(xué)被用來對腿部的其他關(guān)節(jié)設(shè)置動畫處理流程。自動生成可信的關(guān)鍵幀在范· 德· 潘的原始論文中沒有得到充分發(fā)展,這是我們工作的主要貢獻之一。圖4顯示了“腳步”系統(tǒng)的示意圖。

      圖4 腳步系統(tǒng)

      腳部關(guān)鍵幀分為三個獨立的類別:地面關(guān)鍵幀、騰空關(guān)鍵幀和姿態(tài)關(guān)鍵幀。地面關(guān)鍵幀代表了腳部從著地到抬起的轉(zhuǎn)換過程,其位置和方向是以全局坐標(biāo)來確定的。騰空關(guān)鍵幀決定了在未確定的腿部姿態(tài)的情況下,腳如何從動作到著地的過程。騰空關(guān)鍵幀的數(shù)量和位置取決于運動模式和速度。步行、跑步、跳躍和側(cè)步都需要完全不同的關(guān)鍵幀,由于模式?jīng)]有通過支撐姿勢和腳步明確表達,所以必須從前后動作中推測。腳的騰空關(guān)鍵幀、位置和方向是取決于臀部的局部坐標(biāo)系。如上文所述。姿態(tài)關(guān)鍵幀是由鄰近支撐欄的姿態(tài)符號派生出來的,姿態(tài)關(guān)鍵幀的位置是以髖部局部球面坐標(biāo)給出的,而方向關(guān)鍵幀是以踝部局部坐標(biāo)給出的。

      腳部的插值引擎很復(fù)雜,因為必須跟蹤它在任何特定時間使用的坐標(biāo)系。為了實現(xiàn)這一點,插值狀態(tài)變化的時間被記錄在一個單獨的通道中。

      (三)地面關(guān)鍵幀

      腳在地面上的時間又被分為三個不同的階段:部分腳著地(腳跟或腳趾)、全腳著地和腳抬起。在腳跟著地的過程中,腳跟被限制在同一個全局位置。如圖5所示,在足部接觸時間的某個固定的子區(qū)間內(nèi),腳部從著地位置旋轉(zhuǎn)到腳掌位置。腳部圍繞腳跟接觸位置的瞬時旋轉(zhuǎn)是腳跟著地(顏色較深)和全腳著地角度(顏色較淺)的線性插值。瞬時腳踝位置(即IK目標(biāo)位置)是由腳的幾何形狀計算出來的。

      圖5 腳后跟著地到全腳著地

      對于腳尖著地,或腳尖著地時的碾軋,前腳掌被限制在固定的同一全局位置。此外,相對于腳步方向來說,腳可以被限制在一個固定的平面上彎曲,或者可以自由地圍繞上軸旋轉(zhuǎn),如當(dāng)主體圍繞腳趾樞軸轉(zhuǎn)動時。第一步是計算腳踝的位置,假設(shè)腳平放在地面上,如果從這個位置到臀部的瞬時距離大于腿長,那么腳趾必須彎曲才能有效地拉長伸展距離。在這種情況下,要計算一個新的腳的方向,使腳踝腳趾矢量與沿著髖部到最初計算位置的直線上的點對齊,這個點正好是在直線上一個腿長的位置。然后可以根據(jù)幾何學(xué)算出腳踝的位置(見圖6)。

      圖6 腳趾旋轉(zhuǎn)

      腳趾關(guān)節(jié)被自動控制,使其彎曲以避免穿透地面。這是通過找到以前腳掌為中心,半徑等于腳趾長度的圓與地面的交點來實現(xiàn)的。腳趾的方向要與連接前腳掌和正確交點的矢量對齊。

      (四)騰空關(guān)鍵幀

      為腳的騰空階段生成可信的關(guān)鍵幀的任務(wù)取決于許多有時相互矛盾的因素。更為復(fù)雜的是,該算法必須能夠僅通過足跡提供的位置和時間信息來區(qū)分不同的運動模式。

      在最簡單的情況下,即向前行走,只需要一個位置和一個方向的關(guān)鍵幀就可以為腳生成一個可信的路徑。然而,在雙腳交叉的情況下,必須插入額外的關(guān)鍵幀,以避免雙腳相互交疊(見圖7)。對于跑步或跳躍,需要幾個關(guān)鍵幀來生成“踢”和落地的準(zhǔn)備動作。時間和位置對于實現(xiàn)一個可信的結(jié)果至關(guān)重要,同樣的關(guān)鍵幀可能無法滿足不同的跑步或跳躍,具體取決于行進的速度或距離。例如,跑步和慢跑需要非常不同的騰空關(guān)鍵幀,為了實現(xiàn)這一點,只能根據(jù)在空中的時間基本關(guān)鍵幀進行參數(shù)化的重新定位。

      圖7 交叉需要額外的關(guān)鍵幀

      (五)腿部姿態(tài)

      一般來說,插入腿部姿勢關(guān)鍵幀來代替原本自動生成的正常騰空關(guān)鍵幀,需要對姿態(tài)插值施加限制以確保腳不穿透地面。這是通過限制踝關(guān)節(jié)的最小高度來實現(xiàn)的,使其始終高于腳踝和腳跟的標(biāo)稱距離,踝關(guān)節(jié)被調(diào)整,使腳掌始終保持高于地板或與地板持平。這些措施是必要的,因為姿勢與腳步算法計算出的質(zhì)心路徑無關(guān),否則腳可能會被迫低于地面。此外,在骨盆和腰部添加了特殊的關(guān)鍵幀,以補償用單腿做動作,而另一條腿保持固定在地面上時明顯的重量不平衡。

      (六)控制、轉(zhuǎn)動和旋轉(zhuǎn)

      在拉班舞譜的支撐欄中,一個轉(zhuǎn)動符號表示一個轉(zhuǎn)身或旋轉(zhuǎn)。原有的腳步算法中沒有考慮這一點,因此需要進行一些修改。我們的解決方案是,將路徑優(yōu)化過程劃分為以發(fā)生樞軸旋轉(zhuǎn)的點為界的子片段。這些點被標(biāo)記為固定的點,因此不會被優(yōu)化算法移動。額外的關(guān)鍵幀被自動插入到骨盆中,這樣模型就會按符號指定的角度圍繞自身的軸線旋轉(zhuǎn)。腳掌固定在樞軸點上,腳后跟抬離地面,但可以繞垂直軸擺動。騰空的腳在地面上保持一個中立的位置。

      支撐欄中的保留符號表示主體暫時處于靜止?fàn)顟B(tài),在這種情況下質(zhì)心路徑的生成與樞軸旋轉(zhuǎn)以相同的方式處理,也就是說,優(yōu)化發(fā)生在固定端點之間的子段上。

      (七)彎曲的路徑

      拉班舞譜使用特殊的邊緣符號來表示運動是沿著彎曲的路徑發(fā)生的。每個曲線符號通常將轉(zhuǎn)彎角度表示為一個完整圓的一部分。符號的跨度表示彎曲發(fā)生的支撐變化。轉(zhuǎn)圈的數(shù)量由編輯器在支撐符號之間進行分配。

      八、用戶界面

      “拉班舞者”配備了一個簡單的用戶界面,如圖8所示,由一個顯示舞臺上舞者的渲染、選擇主要攝像機視角之一的按鈕和一組標(biāo)準(zhǔn)的播放控件組成。渲染子窗口對鼠標(biāo)活動作出反應(yīng),允許用戶通過繞行、平移或縮放虛擬攝像機來調(diào)整視角。可以從下拉的選項中選擇不同的舞者模型,也可以選擇打開或關(guān)閉有聲節(jié)拍器,以及改變從腳跟著地或腳尖著地的運動偏好。打開對話框,可從文件菜單欄中調(diào)用一個“拉班寫作”的文檔??梢赃x擇在舞臺上顯示計算出的腳步位置的落地處(見圖8)。

      圖8 用戶界面

      該界面的一個重要特點是在屏幕的左側(cè)顯示原始拉班舞譜的同步譜表。隨著動畫的進行,光標(biāo)在舞譜上向上移動,并且可以在停止回放時“拖動”光標(biāo)以設(shè)置所需的時間。

      九、未來的工作

      “拉班舞者”是一個實用的工作原型—即使不完整,但它已經(jīng)可以作為一種教學(xué)工具。未來的一個主要研究重點是衍生一種用于拉班舞譜教學(xué)的數(shù)字化表示系統(tǒng)。有別于拉班舞譜傳統(tǒng)的在頁面上的繪制方式,目前拉班舞譜編輯器生成的文檔將舞譜的元素儲存為具有X和Y坐標(biāo)的圖形對象。嚴(yán)格意義上的圖形化方法的問題在于,雖然它足夠滿足用戶查看或打印舞譜的需求,但譜子本身并不能導(dǎo)出動作分析。我們目前的計劃是制定一個描述XML結(jié)構(gòu)的語言模式來代表拉班舞譜。我們相信,這種交換格式能更廣泛的應(yīng)用,而不僅僅是創(chuàng)建和傳播舞譜,它可以成為代表人類運動的標(biāo)準(zhǔn)方式,而這一點到現(xiàn)在為止還沒有做到。

      另一個問題是需要從符號自動生成可信的人體運動。雖然“拉班舞者”在那些我們有明確符號的身體部位制成運動方面做得還不錯,但身體其他部位的運動在很大程度上被忽略了,或者以一種特定的方式處理,比如旋轉(zhuǎn)骨盆和背部關(guān)節(jié)來補償腿部動作。這需要一個更復(fù)雜的人體模型,以及根據(jù)它的運動方式來生成自然的人體運動。貝爾羅赫(Baerlocher)已經(jīng)生產(chǎn)了一些IK技術(shù)①BAERLOCHER P,BOULIC R.An Inverse Kinematics Architecture Enforcing an Arbitrary Number of Strict Priority Levels[J].The Visual Computer,2004(6):402—417.,這些技術(shù)可以有多個次要目標(biāo),如保持平衡、注意力集中或四肢定向。雖然這些技術(shù)還不是實時的,但還需要找到類似的通用方法。

      “拉班舞者”的當(dāng)前版本只處理明確指定姿態(tài)或支撐變化的符號。拉班舞譜有豐富的符號,這些符號要么傳達前后動作的相關(guān)信息,如身體各部位之間的空間關(guān)系;要么傳達風(fēng)格上的概念,如力效(effort)或優(yōu)雅。同樣的,拉班舞譜可以描述多個舞者之間的互動,指定接觸和空間上的靠近程度。

      在將來,我們計劃實施一個能夠融合多個來源的動畫系統(tǒng)。通過這種方式,“拉班舞者”就能同時利用更廣泛的動畫技術(shù),以便更準(zhǔn)確地生成預(yù)期效果。

      十、結(jié) 語

      這項工作的主要貢獻之一,是證明了使用基于符號的表述作為一種緊湊而充分的人體運動交換格式的可行性。我們相信,自發(fā)明拉班舞譜以來的76年,拉班舞譜已經(jīng)發(fā)展成為一種豐富的描述性語言,而數(shù)字版本將非常適合作為這樣一種交換格式。它還可以將目前不同的領(lǐng)域聯(lián)系起來,如舞蹈編排、舞譜、人體動畫和動作分析。

      用于生成人類運動的程序性技術(shù)的開發(fā),是我們的另一貢獻。這在計算機游戲等領(lǐng)域能有更廣泛的應(yīng)用。①參見:MIZUGUCHI M,BUCHANAN J,CALVERT T.Data Driven Motion Transitions for Interactive Games[C]// Eurographics 2001—Short Presentations.Eurographics Association,2001.

      致 謝

      我們感謝美國國家人文基金會(National Endowment for the Humanities,ENH)對美國舞譜局的資助,為這個項目提供了支持。早期的支持是由美國國家藝術(shù)基金會(National Endowment for the Arts,NEA)和保護美國舞蹈的國家倡議(National Initiative to Preserve America’s Dance,NIPAD)提供的。我們也感謝米歇爾· 范· 德· 潘內(nèi)博士對腳步算法的建議和大衛(wèi)· 埃伯利(David Eberly)對野魔法(Wild-Magic)3D圖形API使用的授權(quán)。

      猜你喜歡
      關(guān)鍵幀舞者姿態(tài)
      舞者
      香格里拉(2023年2期)2024-01-04 05:36:24
      舞者
      舞者
      輕音樂(2022年2期)2022-02-24 02:33:46
      攀爬的姿態(tài)
      全新一代宋的新姿態(tài)
      汽車觀察(2018年9期)2018-10-23 05:46:40
      跑與走的姿態(tài)
      中國自行車(2018年8期)2018-09-26 06:53:44
      基于改進關(guān)鍵幀選擇的RGB-D SLAM算法
      基于相關(guān)系數(shù)的道路監(jiān)控視頻關(guān)鍵幀提取算法
      基于聚散熵及運動目標(biāo)檢測的監(jiān)控視頻關(guān)鍵幀提取
      可疑的舞者
      华池县| 江都市| 霍林郭勒市| 莱州市| 阿拉善盟| 历史| 宁陕县| 雷山县| 湘潭市| 永德县| 土默特左旗| 涟水县| 淳安县| 柏乡县| 廉江市| 巴彦县| 嘉鱼县| 望谟县| 武强县| 诸暨市| 宜昌市| 霍邱县| 马山县| 十堰市| 榆社县| 精河县| 仁怀市| 崇阳县| 正定县| 连山| 黎川县| 临泉县| 包头市| 本溪| 霍山县| 广南县| 兴义市| 靖州| 阿巴嘎旗| 彩票| 平江县|