專利名稱:用于3d用戶界面程序的視覺調(diào)試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的方面涉及便于開發(fā)和實(shí)施在嵌入式裝置中使用的3D內(nèi)容的工具和特征。嵌入式裝置可為捕捉、接收和/或傳輸語音、數(shù)據(jù)、文本和/或圖像的移動(dòng)裝置。本發(fā)明的其它方面涉及便于為此類裝置調(diào)試3D圖形用戶界面程序的工具和特征。
背景技術(shù):
各種應(yīng)用程序開發(fā)平臺(tái)(例如,BREW 平臺(tái))已經(jīng)產(chǎn)生并上市,其允許用戶編輯程序以用于最終導(dǎo)出到例如移動(dòng)電話的目標(biāo)嵌入式裝置。存在用于在將程序?qū)С龅侥繕?biāo)嵌入式裝置之前模擬這些程序在一般計(jì)算機(jī)平臺(tái)上的執(zhí)行的軟件(例如,BREW 模擬器)。
發(fā)明內(nèi)容
提供設(shè)備,其包含嵌入式裝置模擬引擎,用以在除目標(biāo)嵌入式裝置以外的計(jì)算機(jī)平臺(tái)上模擬為所述目標(biāo)嵌入式裝置編輯的3D應(yīng)用程序。除嵌入式裝置模擬引擎以外,提供應(yīng)用程序運(yùn)行控制器以控制所述應(yīng)用程序在所述嵌入式裝置模擬引擎中運(yùn)行的方式。提供狀態(tài)提供程序以在所述3D應(yīng)用程序在所述嵌入式裝置模擬引擎的模擬環(huán)境中運(yùn)行時(shí),提供關(guān)于所述3D應(yīng)用程序的場景中3D圖標(biāo)的狀態(tài)、所述3D應(yīng)用程序中的所界定動(dòng)畫的狀態(tài)以及影響所述3D應(yīng)用程序的發(fā)生事件的狀態(tài)的信息。
通過參看附圖在隨后的具體實(shí)施方式
中進(jìn)一步描述本發(fā)明的非限制性示范實(shí)施例,在附圖的全部幾張圖中類似的參考標(biāo)號(hào)表示相似的部分,且其中圖I是一個(gè)或一個(gè)以上裝置內(nèi)容開發(fā)平臺(tái)的框圖;圖2是模擬器平臺(tái)的示意性框圖;圖3是一個(gè)或一個(gè)以上平臺(tái)屏幕的示意圖;以及圖4是所說明的調(diào)試系統(tǒng)的狀態(tài)窗口的屏幕快照實(shí)例的圖。
具體實(shí)施例方式現(xiàn)更詳細(xì)地參看圖式,圖I說明3D內(nèi)容開發(fā)系統(tǒng)9。所說明的系統(tǒng)9包含一個(gè)或一個(gè)以上裝置內(nèi)容開發(fā)平臺(tái)10,以及移動(dòng)裝置12。移動(dòng)裝置12可例如為移動(dòng)電話。所說明的移動(dòng)裝置12為嵌入式裝置,其捕捉、接收和/或傳輸語音、數(shù)據(jù)、文本和/或圖像。所說明的移動(dòng)裝置12進(jìn)一步包含顯示器13和按鍵14以允許控制移動(dòng)裝置12和將信息輸入到移動(dòng)裝置12中。所說明的裝置內(nèi)容開發(fā)平臺(tái)10可為單一平臺(tái)、分布式平臺(tái)或多個(gè)單個(gè)平臺(tái)。所說明的平臺(tái)包含許多軟件界面,其與計(jì)算機(jī)平臺(tái)交互并在計(jì)算機(jī)平臺(tái)上提供相應(yīng)的窗口或屏幕。這些軟件界面中的每一者均包含在計(jì)算機(jī)平臺(tái)上運(yùn)行的軟件。這些界面和窗口包含腳本編寫窗口 16a和相應(yīng)的腳本編寫語言界 面16b。提供源代碼窗口 18a,其對(duì)應(yīng)于源代碼界面18b。提供調(diào)試系統(tǒng)20。調(diào)試系統(tǒng)20包含調(diào)試窗口 20a,其對(duì)應(yīng)于調(diào)試界面20b。所說明的3D內(nèi)容開發(fā)系統(tǒng)9可設(shè)計(jì)為用于開發(fā)和實(shí)施在嵌入式裝置上使用的3D用戶界面的系統(tǒng)。更具體來說,3D用戶界面可致使顯示3D圖形虛擬界面,其用其界面組件以圖形方式描繪(在移動(dòng)裝置12的顯示器13上)和模擬實(shí)體裝置,且因此用作其中嵌入有圖標(biāo)的3維(3D)用戶界面。腳本編寫語言界面16b耦合到且產(chǎn)生一個(gè)或一個(gè)以上腳本文件22,腳本文件22滿足建立3D用戶界面的要求。具體來說,這些腳本文件22提供關(guān)于3D圖標(biāo)和場景定義以及關(guān)于對(duì)所定義3D圖標(biāo)和場景的動(dòng)畫進(jìn)行編程的信息。將活動(dòng)的3D圖標(biāo)和場景聯(lián)系到或關(guān)聯(lián)到移動(dòng)裝置12及其工具,以控制或輸入和/或顯示或輸出各種移動(dòng)裝置操作、設(shè)置、事件和/或狀態(tài)。所說明的界面16b、18b和20b中的每一者可以通過使用其相應(yīng)的窗口來操作,用于經(jīng)由計(jì)算機(jī)屏幕接收控制和信息以及用于經(jīng)由同一計(jì)算機(jī)屏幕向用戶顯示信息。與源代碼窗口 18a連接的源代碼界面18b允許使用源代碼、通常是使用為原始設(shè)備制造商(OEM)提供的代碼中提供的命令來產(chǎn)生程序。與調(diào)試窗口 20a交互的調(diào)試界面20b便于為檢查和調(diào)試腳本文件的目的而模擬腳本文件22。更具體來說,調(diào)試界面20b可經(jīng)由調(diào)試窗口 20a上的計(jì)算機(jī)屏幕顯示而提供關(guān)于給定3D應(yīng)用程序的場景中3D圖標(biāo)的狀態(tài)的信息。調(diào)試界面可進(jìn)一步在調(diào)試窗口 20a上提供關(guān)于3D應(yīng)用程序中定義的動(dòng)畫的狀態(tài)以及影響3D應(yīng)用程序的發(fā)生事件的狀態(tài)的信
肩、O腳本編寫語言界面16b產(chǎn)生腳本文件22,而源代碼界面18b產(chǎn)生源代碼24。這些類型的代碼中的一者或兩者可經(jīng)編譯以產(chǎn)生經(jīng)編譯的腳本和/或源代碼26。所說明的裝置內(nèi)容開發(fā)平臺(tái)10進(jìn)一步包含用戶界面(UI)資產(chǎn)以及用戶界面布局文件。這些包含3D模型文件35、動(dòng)畫文件36、紋理文件37以及用戶界面(UI)布局文件38。移動(dòng)裝置的圖形引擎層根據(jù)與存儲(chǔ)在文件35、36、37和38中的任何相關(guān)聯(lián)UI資產(chǎn)和UI布局文件連接的經(jīng)編譯腳本和/或源代碼26來控制移動(dòng)裝置12上的3D圖形功能??梢匀鐖D2所示的模擬器平臺(tái)40的形式實(shí)施調(diào)試系統(tǒng)20。所說明的模擬器平臺(tái)40包含移動(dòng)裝置模擬引擎42、模擬輸入/輸出界面44以及平臺(tái)屏幕和鍵盤46。所說明的平臺(tái)40進(jìn)一步包含待調(diào)試的腳本文件48,以及腳本文件解釋程序50。腳本文件解釋程序50解釋腳本文件48,使得其可由移動(dòng)裝置模擬引擎42模擬。所說明的平臺(tái)屏幕和鍵盤46促成所模擬移動(dòng)裝置的屏幕的模擬顯示47,并提供經(jīng)由平臺(tái)屏幕和鍵盤46中的一者或兩者接收特定模擬按鍵和命令輸入49的能力。另外,平臺(tái)屏幕和鍵盤46顯示狀態(tài)窗口 48,并通過計(jì)算機(jī)屏幕圖標(biāo)或按鈕或者通過使用實(shí)體控制開關(guān)或輸入(包含例如鍵盤上的特定按鍵)暫停50、播放51以及勾選52控制。當(dāng)應(yīng)用程序在移動(dòng)裝置模擬引擎42的模擬環(huán)境中運(yùn)行時(shí),狀態(tài)窗口 48向用戶提供信息。所提供的信息是關(guān)于3D應(yīng)用程序的場景中3D圖標(biāo)的狀態(tài)、3D應(yīng)用程序中定義的動(dòng)畫的狀態(tài)以及影響3D應(yīng)用程序的發(fā)生事件的狀態(tài)的信息??商峁┚{(diào)機(jī)構(gòu)以通過允許用戶改變腳本而允許對(duì)3D應(yīng)用程序的若干部分進(jìn)行精調(diào)(即,修改)??商峁┐藱C(jī)構(gòu)作為模擬器平臺(tái)40的一部分,或者用戶可使用裝置內(nèi)容開發(fā)平臺(tái)10的腳本編寫界面16b。3D應(yīng)用程序的此種精調(diào)可包含界定3D應(yīng)用程序的動(dòng)畫,和/或界定3D應(yīng)用程序的交互流,包含3D用戶界面中圖標(biāo)的交互流。所說明的狀態(tài)窗口 48經(jīng)由計(jì)算機(jī)屏幕向用戶提供(即,顯示)廣泛的信息,所述信息描述3D用戶界面中圖標(biāo)的全部或子集的狀態(tài)、場景中物體的動(dòng)畫的全部或子集的狀態(tài)以及事件的全部或子集的狀態(tài)。事件在3D應(yīng)用程序的外部發(fā)生。舉例來說,事件可以是模擬目標(biāo)裝置的狀態(tài)改變,或者事件可能因用戶與3D應(yīng)用程序的交互而發(fā)生,所述交互是通過操縱3D圖標(biāo)或通過使用模擬目標(biāo)裝置中的裝置按鍵。事件的實(shí)例包含目標(biāo)裝置本身的狀態(tài),包含命令按鍵或給定按鍵被按下,或裝置中的狀態(tài)改變,例如檢測(cè)到GPS信號(hào)或目標(biāo)裝置中的電池電力不足狀態(tài)。圖3展示模擬器平臺(tái)40的一個(gè)或一個(gè)以上平臺(tái)屏幕的示意圖。所說明的屏幕60包含模擬顯示62和狀態(tài)窗口 64。模擬顯示62呈現(xiàn)通過使用移動(dòng)裝置模擬引擎42由3D應(yīng)用程序?qū)嵤┑?D用戶界面,其運(yùn)行由腳本文件解釋程序50解釋的腳本文件48中的腳本。模擬器顯示62中描繪的示范性場景包含默認(rèn)的環(huán)境照明以及展示方格地板上的小狗和球的單一相機(jī)視圖。狀態(tài)窗口 64包含許多狀態(tài)指示66。狀態(tài)指示66可例如為特定信息在狀態(tài)窗口 64上的圖形或紋理指示。在圖3所示的實(shí)施例中,這些狀態(tài)指示包含當(dāng)前腳本狀態(tài)指示68、事件歷史狀態(tài)指示70、活動(dòng)動(dòng)畫狀態(tài)指示72、圖標(biāo)狀態(tài)指示74、相機(jī)狀態(tài)指示76以及燈狀態(tài)指示78。在所說明的實(shí)施例中,當(dāng)前腳本狀態(tài)指示68經(jīng)由狀態(tài)窗口 64描繪以下類型的腳本信息由動(dòng)畫狀態(tài)機(jī)內(nèi)當(dāng)前動(dòng)畫狀態(tài)的數(shù)字身份(numerical identity)表示的動(dòng)畫運(yùn)行控制器當(dāng)前狀態(tài)的指示。在此實(shí)施例中,事件歷史狀態(tài)指示70經(jīng)由狀態(tài)窗口 64描繪以下類型的事件歷史信息關(guān)于動(dòng)畫的最近事件的列表,其可能包含按鍵輸入通知,以及各個(gè)動(dòng)畫循環(huán)的開始或結(jié)束。在此實(shí)施例中,活動(dòng)動(dòng)畫狀態(tài)指示72經(jīng)由狀態(tài)窗口 64描繪以下類型的活動(dòng)動(dòng)畫信息對(duì)于應(yīng)用于場景、相機(jī)、燈或圖標(biāo)的每一當(dāng)前運(yùn)行的動(dòng)畫,給出關(guān)于動(dòng)畫的總長度、正運(yùn)行的總長度的子集以及從所述子集內(nèi)當(dāng)前顯示的動(dòng)畫的位置的指示。盡管在所說明的平臺(tái)屏幕60的示意圖中描繪單一狀態(tài)窗口 64,但可針對(duì)所說明的狀態(tài)窗口 64中描繪信息的一個(gè)或一個(gè)以上部分提供單獨(dú)的狀態(tài)窗口或可訪問單獨(dú)的狀態(tài)窗口。舉例來說,可在一個(gè)窗口中描繪當(dāng)前腳本狀態(tài)指示信息68,同時(shí)可在單獨(dú)窗口中描繪事件歷史狀態(tài)指示70。狀態(tài)窗口 64進(jìn)一步包含用于允許用戶啟動(dòng)或停用暫停開關(guān)80、播放開關(guān)82以及勾選開關(guān)84的圖形工具。這些圖形工具可例如為在計(jì)算機(jī)屏幕上在狀態(tài)窗口 64內(nèi)提供的圖形按鈕。暫停開關(guān)80致使3D應(yīng)用程序在其回放中的特定點(diǎn)處暫停,借此允許狀態(tài)指示66每一者中的狀態(tài)信息描繪關(guān)于3D應(yīng)用程序內(nèi)所述特定點(diǎn)的信息。播放開關(guān)82致使3D應(yīng)用程序運(yùn)行或從暫停狀態(tài)繼續(xù)進(jìn)行。勾選開關(guān)84可按下以致使應(yīng)用程序在其執(zhí)行中從一個(gè)增量移動(dòng)到另一增量。換句話說,提供勾選開關(guān)以在運(yùn)行腳本時(shí)逐步通過增量中的每一者。增量可包含當(dāng)前在模擬屏幕上的場景中顯示的圖標(biāo)動(dòng)畫的各個(gè)連續(xù)幀。大體上,狀態(tài)指示66經(jīng)由屏幕監(jiān)視并相應(yīng)地描繪3D應(yīng)用程序的場景中每一 3D圖標(biāo)的狀態(tài)信息。針對(duì)場景中物體的動(dòng)畫的每一幀提供狀態(tài)信息。物體可包含一個(gè)或一個(gè)以上燈、一個(gè)或一個(gè)以上3D圖標(biāo)、各個(gè)燈的目標(biāo)方向、一個(gè)或一個(gè)以上相機(jī)以及每一相機(jī)的
目標(biāo)方向。狀態(tài)信息可進(jìn)一步包含場景中每個(gè)燈、圖標(biāo)、燈目標(biāo)位置、相機(jī)以及相機(jī)目標(biāo)位置的位置,其包含此物體或位置是否被阻擋或與另一物體沖突,以及特定物體是活動(dòng)的還是不活動(dòng)的。舉例來說,可在腳本內(nèi)提供燈或相機(jī),但其在3D應(yīng)用程序的執(zhí)行內(nèi)的給定點(diǎn)處可能活動(dòng)或不活動(dòng)。圖4提供根據(jù)一個(gè)特定實(shí)施例的屏幕快照的實(shí)例。所說明的示范性屏幕快照90包含朝向屏幕底部的用于暫停92、播放94和勾選96控制的按鈕。另外,所說明的屏幕90包含腳本識(shí)別信息98、事件歷史信息100以及按鍵按下和裝置狀態(tài)信息102。另外,提供關(guān)于活動(dòng)動(dòng)畫的信息104。活動(dòng)動(dòng)畫信息104包含描述每一活動(dòng)動(dòng)畫的當(dāng)前動(dòng)畫位置、總動(dòng)畫長度以及正在運(yùn)行的總動(dòng)畫長度的子集106。在此方面,描繪動(dòng)畫的特定幀范圍108。還呈現(xiàn)所述范圍內(nèi)的當(dāng)前幀110以及對(duì)動(dòng)畫112的描述。在文中的實(shí)施例中,場景是封閉一組3D要素的一種3D “世界”。場景界定其中3D要素存在且可被模擬和活動(dòng)的虛擬環(huán)境或空間。也就是說,可相對(duì)于3D要素存在的場景來界定各個(gè)3D要素的特定屬性(例如其位置和方位)。在所說明的實(shí)施例中,圖標(biāo)、相機(jī)、燈和其它3D要素的每一者均是場景的一部分。其可為單一場景的一部分,或者為兩個(gè)或兩個(gè)以上單獨(dú)場景的一部分。場景可包含節(jié)點(diǎn)。在所說明的實(shí)施例中,場景包含節(jié)點(diǎn),每一節(jié)點(diǎn)為場景中一個(gè)或一個(gè)以上物體附接到的點(diǎn)。節(jié)點(diǎn)充當(dāng)其附接的物體的位置的抽象參考點(diǎn)或發(fā)源。節(jié)點(diǎn)本身可為活動(dòng)的,在此情況下對(duì)節(jié)點(diǎn)執(zhí)行的任何動(dòng)畫均傳播到其附接的物體。模型是描述場景內(nèi)物體的表現(xiàn)和行為的一組數(shù)據(jù)。模型可構(gòu)成單一獨(dú)立的場景物體,或者模型可包括若干物體。模型內(nèi)含有的數(shù)據(jù)可包含幾何數(shù)據(jù)以及表面或材料屬性。在圖3所示的實(shí)例中,描繪小狗正在取得球。在此情況下,單一模型封閉并描述小狗的表現(xiàn)、球和小狗坐著的表面,以及可對(duì)其應(yīng)用的一組動(dòng)畫??梢愿鞣N方式繪制網(wǎng)孔幾何圖形。其可用純色畫出、在其頂點(diǎn)處的顏色之間平滑地加陰影,或用紋理圖繪制。紋理是特定格式化的圖像的名稱,其用于“覆蓋”由模型表示的幾何圖形以便給予其詳細(xì)表面。在所說明的實(shí)施例中,在紋理文件中定義紋理。這些紋理例如通過指定文件名的方式與其修改的幾何圖形相關(guān)聯(lián)。也就是說,名為“puppy, qxt”的紋理文件與模型文件“puppy, qxm”相關(guān)聯(lián)。每一場景可具有至少一個(gè)相機(jī)。相機(jī)封閉觀看場景的有利位置。相機(jī)本身是場景物體,且可在場景內(nèi)活動(dòng)。可為每個(gè)場景提供一默認(rèn)相機(jī)(觀看著世界的中心),其在沒有其它相機(jī)打開時(shí)啟動(dòng)。場景可具有一個(gè)或一個(gè)以上燈。另外或替代地,場景可包含默認(rèn)的環(huán)境“全面”照明??蓪⒄彰骺局瞥赡P偷捻旤c(diǎn)顏色和紋理以模擬此環(huán)境模式中的靜態(tài)照明??赏ㄟ^向場景添加燈來實(shí)現(xiàn)逼真的動(dòng)態(tài)照明。燈附接到節(jié)點(diǎn),但另外,其與另一節(jié)點(diǎn)相關(guān)聯(lián)。也就是說,燈與另一節(jié)點(diǎn)的關(guān)聯(lián)界定燈照射的方向。因此,可類似于“手電筒”而對(duì)燈進(jìn)行定向。另外,可包含參數(shù)以界定照射到場景中的燈的顏色。可提供一個(gè)或一個(gè)以上動(dòng)畫文件,其描述如何使物體活動(dòng)。當(dāng)調(diào)用動(dòng)畫文件時(shí),將其應(yīng)用于場景內(nèi)的特定節(jié)點(diǎn)。在所說明的實(shí)施例中,動(dòng)畫文件有點(diǎn)像一條膠片(或flash
中的時(shí)間線),且含有一組幀。這些幀不一定表示連續(xù)的序列,且可在相同的幀“堆疊”中含有若干完全不同的動(dòng)畫,這是為何在所說明的實(shí)施例中當(dāng)其被調(diào)用時(shí)指定開始幀與結(jié)束幀兩者的原因。當(dāng)啟動(dòng)動(dòng)畫時(shí),將其應(yīng)用于希望使其活動(dòng)的特定命名的節(jié)點(diǎn)。舉例來說,可為使小狗活動(dòng)而提供一個(gè)動(dòng)畫文件,而為使相機(jī)和燈活動(dòng)而提供單獨(dú)的動(dòng)畫文件。動(dòng)畫文件中指定的指令傳遞到附接到所述節(jié)點(diǎn)的物體中,且物體做出所述特定幀要其做的任何動(dòng)作。舉例來說,小狗可在一地點(diǎn)上旋轉(zhuǎn),在場景中飛來飛去,或上下跳躍??墒褂猛ǔT谝苿?dòng)裝置鍵盤中提供的4方向?qū)Ш桨存I以各種方式使小狗活動(dòng)。舉例來說,在圖3所示的此實(shí)例中,可按下右導(dǎo)航按鍵,致使球滾到右邊,短時(shí)間后是追逐的小狗撿起球。本文圖中所示的每一平臺(tái)所執(zhí)行的處理可由通用計(jì)算機(jī)單獨(dú)地或與專用處理計(jì)算機(jī)結(jié)合來執(zhí)行??赏ㄟ^單一平臺(tái)或通過分布式處理平臺(tái)或通過單獨(dú)的平臺(tái)來執(zhí)行此類處理。另外,可以專用硬件的形式或以由通用計(jì)算機(jī)運(yùn)行的軟件的形式來實(shí)施此類處理。此類處理中處理的或由于此類處理產(chǎn)生的任何數(shù)據(jù)可存儲(chǔ)在任何類型的存儲(chǔ)器中。舉例來說,此類數(shù)據(jù)可存儲(chǔ)在臨時(shí)存儲(chǔ)器中,例如給定計(jì)算機(jī)系統(tǒng)或子系統(tǒng)的RAM中。另外或替代地,此類數(shù)據(jù)可存儲(chǔ)在較長期存儲(chǔ)裝置中,例如磁盤、可重寫光盤等。為了本文揭示的目的,計(jì)算機(jī)可讀媒體可包括任何形式的數(shù)據(jù)存儲(chǔ)機(jī)構(gòu),包含此類存儲(chǔ)器技術(shù)以及此類結(jié)構(gòu)和此類數(shù)據(jù)的硬件或電路表示。集成電路可包含本文揭示的結(jié)構(gòu)和處理的一個(gè)或一個(gè)以上部分。原始提出且可經(jīng)修正的權(quán)利要求書涵蓋對(duì)本文揭示的實(shí)施例和教示的變化、替代、修改、改進(jìn)、等效物和實(shí)質(zhì)等效物,包含目前無法預(yù)見的或無法了解的,以及例如可能由申請(qǐng)人/專利權(quán)所有人提出的,等等。
權(quán)利要求
1.一種用于模擬目標(biāo)嵌入式裝置的設(shè)備,所述設(shè)備包括 計(jì)算機(jī)平臺(tái),其不同于所述目標(biāo)嵌入式裝置; 嵌入式裝置模擬引擎,其在所述計(jì)算機(jī)平臺(tái)上執(zhí)行以模擬所述目標(biāo)嵌入式裝置;應(yīng)用程序運(yùn)行控制器,其在所述計(jì)算機(jī)平臺(tái)上執(zhí)行,其中所述應(yīng)用程序運(yùn)行控制器經(jīng)配置以 控制為所述目標(biāo)嵌入式裝置編輯的3D應(yīng)用程序在所述嵌入式裝置模擬引擎內(nèi)的執(zhí)行; 暫停和繼續(xù)所述3D應(yīng)用程序的執(zhí)行;以及 在至少一個(gè)節(jié)點(diǎn)上以腳本指令的增量單步執(zhí)行所述3D應(yīng)用程序,其中所述腳本指令的增量對(duì)應(yīng)于正顯示在模擬屏幕上的場景中的至少一個(gè)3D物體的動(dòng)畫的各個(gè)連續(xù)幀,且其中所述場景界定了 3D虛擬空間且包括所述至少一個(gè)節(jié)點(diǎn),所述至少一個(gè)3D物體附接到所述至少一個(gè)節(jié)點(diǎn);以及 狀態(tài)提供程序,其在所述計(jì)算機(jī)平臺(tái)上執(zhí)行且經(jīng)配置以在所述3D應(yīng)用程序在所述嵌入式裝置模擬引擎內(nèi)運(yùn)行時(shí),提供關(guān)于所述3D應(yīng)用程序的所述場景中所述至少一個(gè)3D物體的狀態(tài)、所述3D應(yīng)用程序中的所述至少一個(gè)3D物體的動(dòng)畫的狀態(tài)以及影響所述3D應(yīng)用程序的發(fā)生事件的狀態(tài)的信息。
2.根據(jù)權(quán)利要求I所述的設(shè)備,其中所述3D應(yīng)用程序包括3D用戶界面應(yīng)用程序。
3.根據(jù)權(quán)利要求I所述的設(shè)備,其中所述應(yīng)用程序運(yùn)行控制器包含播放控制以使使用所述嵌入式裝置模擬引擎執(zhí)行所述3D應(yīng)用程序。
4.根據(jù)權(quán)利要求3所述的設(shè)備,其中所述應(yīng)用程序運(yùn)行控制器包含暫停控制以在所述3D應(yīng)用程序在所述嵌入式裝置模擬引擎中運(yùn)行時(shí)暫停所述3D應(yīng)用程序。
5.根據(jù)權(quán)利要求I所述的設(shè)備,其進(jìn)一步包括狀態(tài)監(jiān)視器以針對(duì)所述至少一個(gè)3D物體的動(dòng)畫的每一幀,監(jiān)視關(guān)于所述3D應(yīng)用程序的所述場景中的所述至少一個(gè)3D物體的狀態(tài)的信息。
6.根據(jù)權(quán)利要求5所述的設(shè)備,其中正顯示在所述模擬屏幕上的場景中的所述至少一個(gè)3D物體包含一個(gè)多個(gè)燈中的至少一個(gè)、一個(gè)或多個(gè)3D圖標(biāo)、一個(gè)或多個(gè)燈目標(biāo)方向、一個(gè)或多個(gè)相機(jī)、一個(gè)或多個(gè)相機(jī)目標(biāo)方向、所述場景中所述至少一個(gè)3D物體的位置,關(guān)于所述至少一個(gè)3D物體是否被阻擋或沖突和所述至少一個(gè)3D物體是活動(dòng)還是不活動(dòng)的信肩、O
7.根據(jù)權(quán)利要求6所述的設(shè)備,其中所述狀態(tài)提供程序包含顯示機(jī)構(gòu)以經(jīng)由計(jì)算機(jī)屏幕向所述用戶顯示關(guān)于所述至少一個(gè)3D物體的所述狀態(tài)的所述信息。
8.根據(jù)權(quán)利要求I所述的設(shè)備,其中所述狀態(tài)提供程序包含顯示機(jī)構(gòu)以經(jīng)由計(jì)算機(jī)屏幕向所述用戶顯示關(guān)于所述狀態(tài)的所述信息。
9.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述顯示機(jī)構(gòu)經(jīng)由狀態(tài)窗口顯示關(guān)于所述至少一個(gè)3D物體的所述狀態(tài)的所述信息。
10.根據(jù)權(quán)利要求I所述的設(shè)備,其進(jìn)一步包括精調(diào)機(jī)構(gòu)以精調(diào)所述3D應(yīng)用程序的若干部分。
11.根據(jù)權(quán)利要求7所述的設(shè)備,其進(jìn)一步包括精調(diào)機(jī)構(gòu)以精調(diào)所述3D應(yīng)用程序的若干部分。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其中所述3D應(yīng)用程序的所述經(jīng)精調(diào)部分包含所述3D應(yīng)用程序的經(jīng)界定的動(dòng)畫。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述3D應(yīng)用程序的所述經(jīng)精調(diào)部分進(jìn)一步包含所述3D應(yīng)用程序的經(jīng)界定交互流。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中經(jīng)界定的所述交互流包含正顯示在場景中的所述至少一個(gè)3D物體的經(jīng)界定交互流。
15.根據(jù)權(quán)利要求I所述的設(shè)備,其中所述狀態(tài)包括所述至少一個(gè)3D物體的至少一個(gè)位置,所述至少一個(gè)3D物體是活動(dòng)還是不活動(dòng)的,所述至少一個(gè)3D物體是否被阻擋,且所述至少一個(gè)3D物體是否與一物體沖突。
16.一種用于模擬目標(biāo)嵌入式裝置的方法,所述方法包括 在計(jì)算機(jī)平臺(tái)上執(zhí)行嵌入式裝置模擬引擎以模擬所述目標(biāo)嵌入式裝置; 在所述計(jì)算機(jī)平臺(tái)上執(zhí)行應(yīng)用程序運(yùn)行控制器,其中所述應(yīng)用程序運(yùn)行控制器經(jīng)配置以 控制為所述目標(biāo)嵌入式裝置編輯的3D應(yīng)用程序在所述嵌入式裝置模擬引擎內(nèi)的執(zhí)行; 暫停和繼續(xù)所述3D應(yīng)用程序的執(zhí)行;以及 在至少一個(gè)節(jié)點(diǎn)上以腳本指令的增量單步執(zhí)行所述3D應(yīng)用程序,其中所述腳本指令的增量對(duì)應(yīng)于正顯示在模擬屏幕上的場景中的至少一個(gè)3D物體的動(dòng)畫的各個(gè)連續(xù)幀,且其中所述場景界定了 3D虛擬空間且包括所述至少一個(gè)節(jié)點(diǎn),所述至少一個(gè)3D物體附接到所述至少一個(gè)節(jié)點(diǎn);以及 在所述計(jì)算機(jī)平臺(tái)上執(zhí)行狀態(tài)提供程序,其中所述狀態(tài)提供程序經(jīng)配置以在所述3D應(yīng)用程序在所述嵌入式裝置模擬引擎內(nèi)運(yùn)行時(shí),提供關(guān)于所述3D應(yīng)用程序的所述場景中所述至少一個(gè)3D物體的狀態(tài)、所述3D應(yīng)用程序中的所述至少一個(gè)3D物體的動(dòng)畫的狀態(tài)以及影響所述3D應(yīng)用程序的發(fā)生事件的狀態(tài)的信息。
17.一種用于在不同于目標(biāo)嵌入式裝置的計(jì)算機(jī)平臺(tái)上模擬所述目標(biāo)嵌入式裝置的設(shè)備,所述設(shè)備包括 用于在計(jì)算機(jī)平臺(tái)上執(zhí)行嵌入式裝置模擬引擎以模擬所述目標(biāo)嵌入式裝置的構(gòu)件; 用于在所述計(jì)算機(jī)平臺(tái)上執(zhí)行應(yīng)用程序運(yùn)行控制器的構(gòu)件,其中所述應(yīng)用程序運(yùn)行控制器經(jīng)配置以 控制為所述目標(biāo)嵌入式裝置編輯的3D應(yīng)用程序在所述嵌入式裝置模擬引擎內(nèi)的執(zhí)行; 暫停和繼續(xù)所述3D應(yīng)用程序的執(zhí)行;以及 在至少一個(gè)節(jié)點(diǎn)上以腳本指令的增量單步執(zhí)行所述3D應(yīng)用程序,其中所述腳本指令的增量對(duì)應(yīng)于正顯示在模擬屏幕上的場景中的至少一個(gè)3D物體的動(dòng)畫的各個(gè)連續(xù)幀,且其中所述場景界定了 3D虛擬空間且包括所述至少一個(gè)節(jié)點(diǎn),所述至少一個(gè)3D物體附接到所述至少一個(gè)節(jié)點(diǎn);以及 用于在所述計(jì)算機(jī)平臺(tái)上執(zhí)行狀態(tài)提供程序的構(gòu)件,其中所述狀態(tài)提供程序經(jīng)配置以在所述3D應(yīng)用程序在所述嵌入式裝置模擬引擎內(nèi)運(yùn)行時(shí),提供關(guān)于所述3D應(yīng)用程序的所述場景中所述至少一個(gè)3D物體的狀態(tài)、所述3D應(yīng)用程序中的所述至少一個(gè)3D物體的動(dòng)畫的狀態(tài)以及影響 所述3D應(yīng)用程序的發(fā)生事件的狀態(tài)的信息。
全文摘要
在一個(gè)實(shí)施例中,提供設(shè)備,其包含嵌入式裝置模擬引擎、應(yīng)用程序運(yùn)行控制器以及狀態(tài)提供程序。提供所述嵌入式裝置模擬引擎以在除目標(biāo)嵌入式裝置以外的計(jì)算機(jī)平臺(tái)上模擬為所述目標(biāo)嵌入式裝置編輯的3D應(yīng)用程序。提供所述應(yīng)用程序運(yùn)行控制器以控制所述3D應(yīng)用程序在所述嵌入式裝置模擬引擎中運(yùn)行的方式。提供所述狀態(tài)提供程序以在所述3D應(yīng)用程序在所述嵌入式裝置模擬引擎的模擬環(huán)境中運(yùn)行時(shí)提供關(guān)于所述3D應(yīng)用程序的場景中3D圖標(biāo)的狀態(tài)、所述3D應(yīng)用程序中3D圖標(biāo)的所界定動(dòng)畫的狀態(tài)以及影響所述3D應(yīng)用程序的發(fā)生事件的狀態(tài)的信息。
文檔編號(hào)G06F11/36GK102855190SQ201210299030
公開日2013年1月2日 申請(qǐng)日期2006年6月29日 優(yōu)先權(quán)日2005年6月29日
發(fā)明者巴巴克·埃爾米, 詹姆斯·里茨, 戴維·L·杜爾尼爾 申請(qǐng)人:高通股份有限公司