群體運動場景的渲染方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及計算機應(yīng)用技術(shù),特別是設(shè)及一種群體運動場景的擅染方法。
【背景技術(shù)】
[0002] 目前,人工智能(Al)是實現(xiàn)游戲系統(tǒng)的重要技術(shù)手段之一,高質(zhì)量的游戲AI已經(jīng) 是和圖形、或聲音一樣,成為游戲設(shè)計過程中極為重要的一部分。AI在計算機上實現(xiàn)有兩種 不同的方式:一種是工程學(xué)方式,該方式不需要考慮所用方法是否與人或動物機體所使用 的方法相同,如文字識別、電腦下棋;另一種是模擬方式,該方式不僅要看效果,還要求實現(xiàn) 方法和人類或生物機體所用方法相同或類似。
[0003] 群體動畫技術(shù)是游戲系統(tǒng)中經(jīng)常用來實現(xiàn)AI生物模擬的技術(shù),例如"紅色警戒"、 "星際爭霸"等大規(guī)模戰(zhàn)爭場面、鳥群模擬、人流模擬等。對于群體運動場景的模擬,如鳥群 飛行位置的模擬,比較成熟的技術(shù)手段是利用游戲引擎中粒子系統(tǒng)來實現(xiàn)。具體而言,是創(chuàng) 建一個例子發(fā)射器,設(shè)置運動區(qū)域Volume體積,設(shè)置發(fā)射速率,選擇粒子最大數(shù)量,隨機產(chǎn) 生粒子,創(chuàng)建粒子動畫,使得粒子不斷地來回移動,創(chuàng)建粒子替代物為一運動生物的模型, 則實現(xiàn)相應(yīng)生物的群體運動場景的模擬擅染,例如創(chuàng)建粒子替代物為鳥模型,則會實現(xiàn)鳥 群運動的模擬效果。
[0004] 上述利用粒子系統(tǒng)實現(xiàn)的群體運動場景的擅染方法,一般是基于CPU運算的粒子 屬性動態(tài)更新原理,在動畫中的每一帖,對每一個粒子的屬性(坐標(biāo),速度,加速度,生命值 等)進(jìn)行一次循環(huán)遍歷更新,由于更新采用串行的方式逐個進(jìn)行的,因此,每一帖的更新都 會產(chǎn)生較多的時間開銷。因此,不可避免地會影響運動模擬效果的流楊性。另一方面,基于 常規(guī)粒子系統(tǒng)的物理模型,每一個粒子的運動方向隨機,相鄰粒子之間的物理屬性沒有關(guān) 聯(lián)約束,或是很弱,位置雜亂無章,因此,也無法實現(xiàn)具有一定群體運動方向的運動模擬效 果。
[0005] 由此可見,現(xiàn)有的群體運動場景的擅染方法存在時間開銷大且個體運動位置雜亂 無章的問題。
【發(fā)明內(nèi)容】
[0006] 有鑒于此,本發(fā)明的主要目的在于提供一種群體運動場景的擅染方法,可W實現(xiàn) 群體運動規(guī)則性的擅染效果。
[0007] 為了達(dá)到上述目的,本發(fā)明提出的技術(shù)方案為:
[000引一種群體運動場景的擅染方法,包括:
[0009] a、對于每一帖,按照內(nèi)聚規(guī)則和對準(zhǔn)規(guī)則,確定該帖中參與群體運動的每個運動 對象在下一帖的運動屬性,所述運動屬性包括位置信息和運動速度;
[0010] b、當(dāng)需要擅染所述下一帖時,根據(jù)所述運動屬性進(jìn)行相應(yīng)的場景擅染。
[0011] 綜上所述,本發(fā)明提出的群體運動場景的擅染方法,通過按照內(nèi)聚規(guī)則和對準(zhǔn)規(guī) 貝1J,來確定每個運動對象在下一帖的運動屬性,可W對群體運動方向進(jìn)行控制,使其具有一 定的規(guī)則性,從而提高場景擅染的智能化水平,更具有真實性。
【附圖說明】
[0012] 圖1為本發(fā)明實施例的方法流程示意圖。
【具體實施方式】
[0013] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對 本發(fā)明作進(jìn)一步地詳細(xì)描述。
[0014] 本發(fā)明的核屯、思想是:在每一帖,對其中的每個運動對象,根據(jù)內(nèi)聚規(guī)則和對準(zhǔn)規(guī) 貝IJ,確定其下一帖的運動屬性,W確保群體運動的規(guī)則性
[0015] 圖1為本發(fā)明實施例的方法流程示意圖,如圖1所示,該實施例主要包括:
[0016] 步驟101、對于每一帖,按照內(nèi)聚規(guī)則和對準(zhǔn)規(guī)則,確定該帖中參與群體運動的每 個運動對象在下一帖的運動屬性。
[0017] 所述運動屬性包括位置信息和運動速度。
[001引所述內(nèi)聚規(guī)則為盡量朝鄰近伙伴中屯、移動。
[0019] 所述對準(zhǔn)規(guī)則為盡量與鄰近運動對象的平均方向一致。
[0020] 本步驟,通過按照內(nèi)聚規(guī)則和對準(zhǔn)規(guī)則,確定群體運動中的各運動對象在下一帖 的運動屬性,可W實現(xiàn)對運動對象運動軌跡的控制,從而可W確保群體運動的規(guī)則性,避免 群體運動中個體運動位置雜亂無章的問題。
[0021] 步驟102、當(dāng)需要擅染所述下一帖時,根據(jù)所述運動屬性進(jìn)行相應(yīng)的場景擅染。
[0022] 本步驟中,將根據(jù)上一帖確定出的運動屬性進(jìn)行場景擅染,由于運動屬性的獲得 是基于內(nèi)聚規(guī)則和對準(zhǔn)規(guī)則得到的,因此可W達(dá)到規(guī)則性運動的擅染效果。本步驟具體的 擅染方法為本領(lǐng)域人員所掌握,在此不再寶述。
[0023] 較佳地,為了有效提高群體運動場景的擅染效率、使場景擅染更流楊,步驟101中 可W利用通用圖形處理器(GPGPU)技術(shù)的強大并行計算能力,來實現(xiàn)每一帖運動屬性的快 速計算和更新。即,在每一帖,可W利用GPGPU,采用并行處理的方式,分別確定每個所述運 動對象在下一帖的運動屬性。具體而言,可W通過化en化平臺,利用GPGPU的并行計算能力, 為每個運動對象分配對應(yīng)的"工作組"、"工作項",用于對該運動對象的運動屬性進(jìn)行更新, 從而可W實現(xiàn)運動對象的運動位置和方向并發(fā)計算、快速更新。
[0024] 具體地,可W采用下述方法確定每個所述運動對象i在下一帖的運動屬性:
[0025] 步驟XI、根據(jù)當(dāng)前帖中本運動對象i的位置W及附近預(yù)設(shè)范圍內(nèi)的其他運動對象 的位置,計算出滿足內(nèi)聚規(guī)則的第一運動方向Va。
[0026] 本步驟中,將考慮內(nèi)聚規(guī)則來確定下一帖的運動方向,使得運動對象在下一帖盡 可能的向鄰近的其他運動對象中屯、移動。
[0027] 所述預(yù)設(shè)范圍的區(qū)域大小可由本領(lǐng)域技術(shù)人員根據(jù)運動群體的實際情況,如群體 規(guī)模等因素,設(shè)置合適范圍。
[00%]較佳地,本步驟可W采用下述方法實現(xiàn):
[0029] 步驟xll、按照nearPos=(poso+….+POSm+. . . .+p〇sm)/M,計算所述附近預(yù)設(shè)范圍 內(nèi)的其他運動對象的平均位置nearfos。
[0030]其中,POSm為所述附近預(yù)設(shè)范圍內(nèi)的第m個運動對象的位置,M為所述附近預(yù)設(shè)范 圍內(nèi)的其他運動對象的數(shù)量。
[0031 ]步驟xl2、