亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于3DS MAX Script語言的三維表面附著運(yùn)動仿真

        2010-11-27 06:56:22馬純永齊永陽
        地理空間信息 2010年2期
        關(guān)鍵詞:山體按鈕軌跡

        鄭 雪,馬純永,齊永陽,韓 勇,陳 戈

        (1.中國海洋大學(xué)信息科學(xué)與工程學(xué)院海洋技術(shù)系,山東青島266100;2.中國海洋大學(xué)海洋遙感教育部重點(diǎn)實(shí)驗(yàn)室,山東青島266100)

        基于3DS MAX Script語言的三維表面附著運(yùn)動仿真

        鄭 雪,馬純永,齊永陽,韓 勇,陳 戈

        (1.中國海洋大學(xué)信息科學(xué)與工程學(xué)院海洋技術(shù)系,山東青島266100;2.中國海洋大學(xué)海洋遙感教育部重點(diǎn)實(shí)驗(yàn)室,山東青島266100)

        3DS MAX是當(dāng)前三維動畫制作的主流平臺。以物體在山體表面運(yùn)動為例,完成了附著山體運(yùn)動的仿真。利用3DS MAX Script語言,獲取物體當(dāng)前平面坐標(biāo)對應(yīng)的地形高程值,自動調(diào)節(jié)物體的高度,并實(shí)現(xiàn)了運(yùn)動的實(shí)時性,克服了3DS MAX尚不存在碰撞檢測的不足,取代了人工手動調(diào)節(jié),大大提高了動畫的制作效率。

        GIS;3DS MAX Script;附著運(yùn)動;實(shí)時渲染;仿真;動畫

        近年來,三維動畫作為一種媒體得到了迅速發(fā)展,除了單純的三維影視,越來越多的行業(yè)提出了對三維動畫的需求,如:教育、宣傳、廣告、娛樂等。3D Studio MAX(簡稱3DS MAX)是AUTODESK公司出品的一個大型三維動畫制作軟件[1]。但是,在3DSMAX的交互環(huán)境中,無法建立批處理工具,開發(fā)人員也無法從一些簡單重復(fù)的工作中解脫出來。例如,難以建立一次可以渲染多個場景的文件;難以模擬有上千個球體的星系;難以生成逼真的群鳥飛翔的動畫;難以使物體按某個特定的數(shù)學(xué)曲線運(yùn)動。MAX Script作為3DSMAX的輔助開發(fā)工具的出現(xiàn),為開發(fā)者提供了很大的空間,一定程度上解決了以上問題[2]。

        二十世紀(jì)后期,三維計算機(jī)圖像技術(shù)的出現(xiàn),極大地拓展了動漫的空間表達(dá)能力。隨著人們對海洋的關(guān)注與研究,國內(nèi)外對海洋的重視程度越來越高,海洋動漫也成為了藝術(shù)和技術(shù)上研究與開發(fā)的新熱點(diǎn)?!缎『}斅魏5资澜纭肥腔谇鄭u信息產(chǎn)業(yè)專項資金項目“交互式三維海洋動漫軟件系統(tǒng)的研發(fā)與應(yīng)用”而制作的全新高清三維動漫片。該劇主要采用3DSMAX創(chuàng)建角色模型,講述了一只善良的小海龜在尋親途中,經(jīng)歷了一系列的海底探險。制作過程中,有的場景需要小海龜翻山越嶺,制作動畫時,需要小海龜在移動過程中貼著山體,否則將脫離地面,造成不真實(shí)的感覺。如果單用3DSMAX建模實(shí)現(xiàn),需要手動將海龜?shù)囊苿勇窂秸{(diào)整,以保證海龜既不陷入地下,又不在空中漂浮,工作重復(fù)且工作量巨大。針對該問題,本文利用MAX Script語言獲取海龜當(dāng)前平面坐標(biāo)對應(yīng)的地形高程值[3],并自動調(diào)節(jié)海龜?shù)母叨龋瑢?shí)現(xiàn)海龜在移動過程中附著在山體的表面,大大提高了動畫的制作效率。

        1 MAXS cript語言簡介

        MAX Script是3DS MAX的內(nèi)置腳本語言,它為用戶提供了以下功能[4]:

        1)腳本化3DSMAX各方面用途,如建模、動畫、材質(zhì)、渲染等。

        2)通過命令行shell窗口交互控制3DS MAX。

        3)軟件包將在自定義工具面板菜單欄或無模式窗口中腳本化,從而為它們提供標(biāo)準(zhǔn)3DSMAX用戶界面。

        4)使用內(nèi)置文件I/O構(gòu)建自定義導(dǎo)入/導(dǎo)出工具。

        5)編寫可以訪問整個場景狀態(tài)的程序控制器,構(gòu)建批處理工具,如批處理渲染腳本。

        6)使用OLE自動化設(shè)置與外部系統(tǒng)的實(shí)時連接。

        MAX Script語言是專為補(bǔ)充3DS MAX精心設(shè)計的,它是面向?qū)ο蟮?,并且擁有特殊的功能和?gòu)造,反映了3DSMAX用戶界面中的高級概念。MAX Script語言編輯器直接嵌入在3DSMAX中,在3DSMAX的菜單欄中包含“MAX Script”選項,運(yùn)行其下拉菜單中的“新建腳本”,即可彈出MAX Script語言編輯窗口。在編輯窗口中輸入程序代碼,按“Ctrl+E”鍵運(yùn)行程序。還可以利用MAX Script語言編輯器中的MAX Script偵聽器來編輯運(yùn)行程序。

        2 系統(tǒng)關(guān)鍵技術(shù)及功能

        2.1 系統(tǒng)關(guān)鍵技術(shù)

        1)系統(tǒng)界面的創(chuàng)建。本系統(tǒng)以物體附著在類似山體的表面上運(yùn)動為例,因此,系統(tǒng)一級界面有“附著運(yùn)動”、“山體參數(shù)調(diào)節(jié)”和“運(yùn)動軌跡調(diào)節(jié)”3個卷欄,點(diǎn)擊會進(jìn)入下一級界面,其中“運(yùn)動軌跡調(diào)節(jié)”是本系統(tǒng)的核心。創(chuàng)建用戶界面是為了實(shí)時控制物體的運(yùn)動狀態(tài)及軌跡。在創(chuàng)建用戶界面時,首先應(yīng)明確物體附著在山體表面上運(yùn)動時,可以改變的參數(shù)有哪些,包括山體長寬,表面曲率運(yùn)動軌跡等。其次,考慮應(yīng)設(shè)計卷欄中各參數(shù)的修改范圍和表現(xiàn)形式,如label(標(biāo)簽),spinner(微調(diào)器),button(按鈕)等。

        2)運(yùn)動場景中模型、運(yùn)動軌跡的創(chuàng)建及參數(shù)調(diào)節(jié)。我們需要編寫一段代碼自動生成運(yùn)動附著的表面和運(yùn)動軌跡。本系統(tǒng)我們以山體表面為例,進(jìn)入“附著運(yùn)動”的子菜單,“創(chuàng)建山體表面”和“創(chuàng)建運(yùn)動軌跡”便可實(shí)現(xiàn)此創(chuàng)建功能。而“山體參數(shù)調(diào)節(jié)”卷欄可以實(shí)現(xiàn)山體長、寬和曲率的調(diào)節(jié)。

        3)運(yùn)動的實(shí)時性。物體在山體表面的附著運(yùn)動方程由于不能求得解析解,故很難利用3DSMAX中的控制動畫器,利用表達(dá)式動畫難以實(shí)現(xiàn),但是考慮到實(shí)時運(yùn)算會影響系統(tǒng)速度,故而最終決定采用關(guān)鍵幀動畫。本系統(tǒng)通過animateon函數(shù)打開動畫設(shè)置,通過一個循環(huán)定義關(guān)鍵幀,然后通過函數(shù)attime為每一幀賦值。

        2.2 系統(tǒng)功能介紹

        本系統(tǒng)的一級界面有“附著運(yùn)動”、“山體參數(shù)調(diào)節(jié)”和“運(yùn)動軌跡調(diào)節(jié)”3個卷欄。 “附著運(yùn)動”卷欄下有“創(chuàng)建山體表面”、“創(chuàng)建運(yùn)動軌跡”和“渲染效果預(yù)覽”按鈕,由此可以實(shí)現(xiàn)運(yùn)動場景中山體模型、運(yùn)動軌跡的創(chuàng)建和創(chuàng)建后效果的預(yù)覽,考慮到直接渲染大尺寸位圖速度較慢,故建立了一個130×130的預(yù)覽窗口并且尺寸可以隨時調(diào)整,點(diǎn)擊“渲染效果預(yù)覽”按鈕,則按照設(shè)定尺寸渲染一幅小圖片,以便觀察最終效果。

        “山體參數(shù)調(diào)節(jié)”卷欄有3個控制器,分別控制著山體表面長、寬、曲率的調(diào)節(jié)。在本組卷欄中,設(shè)定了山體表面長、寬兩個數(shù)值輸入框,其默認(rèn)值為:長:100;寬:100;曲率:16,點(diǎn)擊按鈕上兩個箭頭時可以使數(shù)值增加或降低。

        “運(yùn)動軌跡調(diào)節(jié)”卷欄是本系統(tǒng)的核心,通過它可以實(shí)現(xiàn)物體運(yùn)動軌跡的任意性。最后,通過使用關(guān)鍵幀動畫實(shí)現(xiàn)其運(yùn)動的實(shí)時性,該按鈕調(diào)用3DSMAX渲染器,可根據(jù)需要渲染成不同尺寸大小的單幀圖片或動畫文件,也可生成體視動畫。

        3 附著山體運(yùn)動系統(tǒng)的設(shè)計和實(shí)現(xiàn)

        3.1 系統(tǒng)設(shè)計思路分析

        本系統(tǒng)的設(shè)計思路是,首先通過調(diào)用rollout等函數(shù)來創(chuàng)建系統(tǒng)各級界面,其次,創(chuàng)建好山體表面和運(yùn)動軌跡后,使用patch_deform_binding和normalize命令對山體的形態(tài)參數(shù)進(jìn)行設(shè)置,再調(diào)用 spline_ik_control等函數(shù)對山體表面和運(yùn)動軌跡進(jìn)行調(diào)節(jié),然后使用patch_deform_binding命令將運(yùn)動軌跡綁定到山體表面上,最后,創(chuàng)建運(yùn)動物體,設(shè)置附著運(yùn)動動畫。設(shè)置好后,點(diǎn)擊“播放動畫”按鈕可觀看運(yùn)動過程。系統(tǒng)設(shè)計流程圖如圖1所示。

        3.2 MAX Script腳本代碼編寫

        使用MAX Script語言開發(fā)文件管理程序包括編寫源文件、源文件編譯與源文件運(yùn)行 [5]:

        1)源文件編寫點(diǎn)擊New Script按鈕,出現(xiàn)MAX Script文本窗口,輸入源程序;

        2)源文件編譯;

        3)源文件運(yùn)行:保存編譯后的源程序,點(diǎn)擊Run Script按扭,運(yùn)行程序。

        3.2.1 創(chuàng)建運(yùn)動軌跡

        圖1 系統(tǒng)設(shè)計流程圖

        步驟1定義自定義函數(shù),判斷鼠標(biāo)在視圖中拖拽過程中停頓點(diǎn)的坐標(biāo),并在該坐標(biāo)添加一個點(diǎn)加入軌跡曲線。

        步驟2在鼠標(biāo)第一次點(diǎn)擊左鍵的坐標(biāo)處,生成軌跡曲線的起點(diǎn),然后調(diào)用步驟1中自定義的函數(shù),生成完整的軌跡曲線。

        1)定義get_mouse_pos函數(shù),函數(shù)包含2個位置參數(shù),old_pen_pos和pen_pos,分別代表前一點(diǎn)的坐標(biāo)和鼠標(biāo)當(dāng)前點(diǎn)的坐標(biāo)。

        2)判斷全局參數(shù)second_knot_set的狀態(tài),來添加或者改變軌跡曲線上的點(diǎn)。second_knot_set代表的意義為當(dāng)前點(diǎn)是否為軌跡曲線的第二個點(diǎn),因?yàn)樯绍壽E曲線時,并不知道軌跡曲線的第二點(diǎn)坐標(biāo),但生成的曲線須包含 2個點(diǎn)以上,故在生成曲線時默認(rèn)將曲線第2個點(diǎn)與曲線第1個點(diǎn)重合,當(dāng)鼠標(biāo)拖拽后,則根據(jù)全局參數(shù) second_knot_set的狀態(tài)決定是將鼠標(biāo)拖拽的新點(diǎn)坐標(biāo)賦給曲線的第2個點(diǎn),還是在該坐標(biāo)上給軌跡曲線添加新點(diǎn)。

        3)定義draw_new_line函數(shù),這個函數(shù)的作用就是設(shè)置一個鼠標(biāo)移動Callback程序來跟蹤鼠標(biāo)移動。該Callback程序就是通過get_mouse_pos函數(shù)的參數(shù)來跟蹤鼠標(biāo)的移動。

        3.2.2 添加實(shí)時渲染命令的程序

        整個動畫時間為100幀,下面這段程序就是利用自動滑動時間滑塊,并在每一幀渲染動畫,然后將渲染的bitmap輸出到rollout的bitmap插件框中,從而達(dá)到實(shí)時渲染的目的。

        4 實(shí)驗(yàn)結(jié)果

        打開3DS MAX軟件,在MAXScript菜單欄里選擇Run Script,找到程序所在的文件夾,運(yùn)行本程序。點(diǎn)擊3DS MAX中的“Run Script”按鈕后,將出現(xiàn)本程序生成的系統(tǒng)界面。系統(tǒng)一級界面有“附著運(yùn)動”、“山體參數(shù)調(diào)節(jié)”和“運(yùn)動軌跡調(diào)節(jié)”3個卷欄,點(diǎn)擊會進(jìn)入下一級界面,如圖2所示。

        運(yùn)行界面上的“創(chuàng)建山體表面”按鈕,自動生成圖 3中上面的山體,然后,拖動“山體參數(shù)調(diào)節(jié)”卷欄中的“山體表面曲率”的滑塊,可以將所生成山體表面的曲率進(jìn)行任意調(diào)節(jié)。圖 3中下面的圖即為將生成的山體表面曲率調(diào)高后的效果。

        在對山體表面進(jìn)行完一系列調(diào)節(jié)后,我們可以通過點(diǎn)擊“運(yùn)動軌跡調(diào)節(jié)”卷欄下的“軌跡調(diào)節(jié)”按鈕,然后按住左鍵拖曳鼠標(biāo)創(chuàng)建任意的運(yùn)動軌跡。軌跡創(chuàng)建完成后,通過點(diǎn)擊“綁定曲面”按鈕并手動拾取需要綁定的曲面即可將剛才創(chuàng)建的運(yùn)動軌跡綁定到曲面上。然后,點(diǎn)擊“設(shè)置動畫”按鈕自動生成運(yùn)動物體,并且將此物體的運(yùn)動軌跡設(shè)置為我們剛才創(chuàng)建的運(yùn)動軌跡。最后,點(diǎn)擊“播放動畫”按鈕即可看到我們所設(shè)置的運(yùn)動動畫。運(yùn)動截圖如圖4所示。

        圖2 系統(tǒng)界面效果圖

        圖3 山體曲率調(diào)節(jié)效果圖

        圖4 附著運(yùn)動動畫效果圖

        5 結(jié)論與展望

        3DSMAX強(qiáng)大的建模功能眾所周知,但關(guān)于MAX Script應(yīng)用的介紹則相對很少。應(yīng)用MAX Script編程來實(shí)現(xiàn)動畫控制的功能,而不是采用通常使用的動畫編輯器來控制動畫,將復(fù)雜的運(yùn)動用簡單明了的動畫顯示,不僅物理概念明晰,而且具有直觀、易于理解的特點(diǎn)。

        本文通過調(diào)用rollout等函數(shù)創(chuàng)建自定義界面,通過MAX Script編程添加normalize命令和animateon函數(shù)等,實(shí)現(xiàn)了對虛擬山體參數(shù)的調(diào)節(jié)和三維物體附著山體表面運(yùn)動動畫設(shè)置。在功能上,實(shí)現(xiàn)了物體附著在虛擬山體表面的實(shí)時運(yùn)動。同時,本文的研究結(jié)果在三維數(shù)字動漫劇《小海龜漫游海底世界》中得到了很大應(yīng)用,實(shí)現(xiàn)了小海龜翻山越嶺的場景,極大地提高了工作效率。在本系統(tǒng)后續(xù)的開發(fā)中,將進(jìn)一步提高運(yùn)動物體的仿真效果,添加多面片的碰撞檢測及附著功能,使其在動畫制作中獲得更好的表現(xiàn)效果,得到更廣泛的應(yīng)用。

        [1] Tamg Y S,Tsai H L,Yeh S S.Modeling,optim ization and classification of weld quality in tungsten inert gas welding[J].International Journal Machine Tools&Manufacture,1999(39):1 427-1 438

        [2] Barnsley M F,Demko S.Rational approximations of fractals[J]. Lecture Notes in Math,1984(1105):73-88

        [3] 王琦.電腦動畫工作室.3DSMAX5白金手冊[M].北京:北京科海電子出版社,2002

        [4] 黃心淵.3DSMAX高級編程—使用腳本制作動畫[M].北京:清華大學(xué)出版社,2004

        [5] 王華.3DS MAXScript腳本語言完全學(xué)習(xí)手冊[M].北京:兵器工業(yè)出版社,2006

        Adherent M ovement Simulation on 3D Surface Based on 3DSMAX Script Language

        ZHENG Xue,MA Chunyong,QI Yongyang,HAN Yong,CHEN Ge
        (1.Depart me nt of Ma rineTe c hnology,College of Infor ma tion Science & Engi neering,Ocean Unive rsity of China,Qing dao 266100,China;2.Ocean Remo te Sen sing Insti tute,Ocean Uni versity of China,Qing dao 266100,China)

        3DS MAX is now the mainstream platform of three-dimensional animation.This paper completed the adherentmovement simulation using an instance of object's movementon surfaceof mountains.Using 3DS MAX Script language,it obtained the corresponding terrain height valueof object's currentplane coordinate,adjusted the object's heightautomatically,realized the real-time romanceof themovement,overcome thedeficiency of collision detection of 3DS MAX,replaced the h and -manual regulations, and greatly increased the efficiency of animations.

        GIS;3DS MAX Script;adherent movement;real-time romance;simulation;animation

        2009-10-20

        項目來源:青島市信息產(chǎn)業(yè)專項資金資助項目(C-2007-001)。

        P208

        B

        1672-4623(2010)02-0106-04

        鄭雪,碩士,研究方向?yàn)閿?shù)字動漫、虛擬現(xiàn)實(shí)。

        猜你喜歡
        山體按鈕軌跡
        哪個是門鈴真正的按鈕
        當(dāng)你面前有個按鈕
        軌跡
        軌跡
        濟(jì)南市山體修復(fù)中的植物應(yīng)用與技術(shù)——以濟(jì)南市臥虎山山體公園為例
        軌跡
        死循環(huán)
        進(jìn)化的軌跡(一)——進(jìn)化,無盡的適應(yīng)
        中國三峽(2017年2期)2017-06-09 08:15:29
        山體別墅設(shè)計分析
        人間(2015年21期)2015-03-11 15:23:42
        內(nèi)心不能碰的按鈕
        久久综合给合久久狠狠狠9| 欧美人与禽zozzo性伦交| 日本高清色倩视频在线观看| 亚洲丁香五月激情综合| 国产麻豆成人精品av| 尤物在线观看一区蜜桃| 欧美xxxx色视频在线观看| 国产一级片毛片| 国产内射视频免费观看| 强d乱码中文字幕熟女免费| 男女裸交无遮挡啪啪激情试看| 国产亚洲精品成人无码精品网站 | 亚洲中文字幕人成乱码在线| 成年女人vr免费视频| 亚洲色大成网站www尤物| 日本一区二区三区中文字幕视频| 国产一区二区免费在线视频| 狠狠色噜噜狠狠狠777米奇小说 | 美女张开腿黄网站免费| 色妞www精品视频| 日本一道dvd在线中文字幕| av天堂亚洲另类色图在线播放 | 无码国产精品一区二区免费97| 天堂av一区二区在线| 亚洲色一区二区三区四区| 成年无码av片完整版| 国产精品国三级国产av| 国产亚洲精品一区在线| 肉体裸交137日本大胆摄影| 国产三级欧美| 女女同性av一区二区三区| 波多野结衣中文字幕一区二区三区 | 亚洲国产精品高清一区| 女人扒开屁股爽桶30分钟| 亚洲婷婷丁香激情| 人妻秘书被社长浓厚接吻| 成视频年人黄网站免费视频| 亚洲影院天堂中文av色| 久久国产精品国产精品久久| 国产av无码专区亚洲av果冻传媒| 亚洲av无码精品色午夜蛋壳|