




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、虛擬仿真項(xiàng)目實(shí)戰(zhàn)項(xiàng)目名稱:汽車虛擬仿真展示設(shè)計(jì)第一部分 課程目的Virtools Dev開(kāi)發(fā)工具除了進(jìn)行多媒體和游戲編輯制作外,更能靈活的應(yīng)用到各行各業(yè)的商品展示上,此章利用簡(jiǎn)單的汽車樣品展示范例,來(lái)說(shuō)明Virtools Dev開(kāi)發(fā)工具在商品展示上的便利性,更以此范例,讓初學(xué)者輕松上手Virtools Dev開(kāi)發(fā)工具,認(rèn)識(shí)編輯流程。第二部分 制作過(guò)程對(duì)象的建立和初始設(shè)定請(qǐng)選擇Resources/Open Data Resource,選擇光盤(pán)里的素材/VTrsc2.rsc,這樣便可以加載本書(shū)的教學(xué)素材數(shù)據(jù)庫(kù)了。載入的車子對(duì)象VTrsc2.rsc/Characters/EVOcar.nmo,并將之
2、調(diào)整到適當(dāng)?shù)奈恢?、方向和大小,然后按下Set IC For Selected設(shè)定其初始值,此時(shí)Level Manager窗口里的evocar角色對(duì)象的IC處會(huì)顯示X也就是已經(jīng)設(shè)定其初始值了。車身反射材質(zhì)的制作在Level Manager/Materials里可以找到該車子模型的全部材質(zhì),car body、car_window2、car window、car logo、car item。因?yàn)槲覀円褂貌馁|(zhì)來(lái)制作車子的反射特效,但是真正的車子也有像輪胎那部分,是沒(méi)有反射質(zhì)感的,所以當(dāng)我們?cè)谥谱?D模型時(shí),就要先考慮何處材質(zhì)需要用到哪種特效,何處材質(zhì)無(wú)需用到特效,把一個(gè)模型的材質(zhì),做有效的規(guī)劃和管理
3、,像這次的模型,car item是車子輪胎和車頭燈的材質(zhì),所以無(wú)需設(shè)置反射質(zhì)感;而其他的car body(車體材質(zhì))、car_window2(車窗邊緣材質(zhì))、car window(車窗材質(zhì))、car logo(車子標(biāo)志材質(zhì))都是需要設(shè)定制作反射質(zhì)感效果的。所以請(qǐng)先選擇car body,并快速點(diǎn)擊鼠標(biāo)左鍵兩下,就可以開(kāi)啟其車身的材質(zhì)設(shè)置窗口。請(qǐng)載入VTrsc2.rsc/Textures/background002.tga來(lái)當(dāng)反射材質(zhì)的紋理圖像,接著將car body的材質(zhì)設(shè)置窗口里的Texture,設(shè)定成剛剛加載的紋理文件background002.tga。如果覺(jué)得車身的顏色太過(guò)黯淡可以調(diào)整材質(zhì)
4、的Emissive(放射)去設(shè)定其亮度,但此時(shí)會(huì)發(fā)現(xiàn)車身還沒(méi)有明顯的金屬質(zhì)感出現(xiàn)。接下來(lái)要設(shè)定反射的貼圖效果,所以請(qǐng)點(diǎn)擊car_body材質(zhì)設(shè)定欄里的Effect(特效)選項(xiàng),然后選擇其中的Tex Gen(紋理生成)。接著在該Tex Gen Type(紋理生成類型)中選擇Reflect(反射),此時(shí)就可以轉(zhuǎn)轉(zhuǎn)鏡頭試試,會(huì)看到車子的車身表面產(chǎn)生了金屬反射效果。利用此方式也將car_window2、car window、car logo等三個(gè)材質(zhì)都設(shè)定成反射的效果。鏡像反射地板設(shè)定載入VTrsc2.rsc/3D Entities/floor01.nmo地板對(duì)象于場(chǎng)景中,并設(shè)定好其初始定值。點(diǎn)擊Le
5、vel Manager/Character/evocar對(duì)象,按下鼠標(biāo)右鍵,此時(shí)會(huì)開(kāi)啟編輯菜單,選擇Add Attributes(添加屬性)。在Select Attribute Type菜單里選擇Visuals FX/Reflected Object(反射對(duì)象),然后按下Add Selected(新增選擇),這樣就可以設(shè)定車子本身為一個(gè)會(huì)被反射的對(duì)象。但因?yàn)檫@樣增加屬性是屬于簡(jiǎn)便方式,如果對(duì)于屬性是否設(shè)定完成存有懷疑,那就請(qǐng)單擊該對(duì)象,然后按下鼠標(biāo)右鍵打開(kāi)編輯窗口,點(diǎn)擊SEtup便會(huì)跳出該角色對(duì)象的設(shè)置窗口,然后選擇左邊選項(xiàng)的Attribute,便會(huì)跳出該對(duì)象的屬性數(shù)據(jù)域,這樣就可以明確的了解
6、該對(duì)象到底設(shè)置了哪些屬性,當(dāng)然在該窗口也可以設(shè)定增加新的屬性,只是這樣比較麻煩而已,最后不要忘記了要再次設(shè)定一次車子的初始值。接下來(lái)制定地板的鏡像反射效果,點(diǎn)擊floor對(duì)象,然后按下鼠標(biāo)右鍵打開(kāi)其編輯窗口,選擇Create Script ,接著請(qǐng)點(diǎn)擊Schematic(流程圖)編輯窗口,就可以看到floor01對(duì)象的Script了。加入BB/Visuals/FX/Planar Reflection(平面反射對(duì)象)于floor01的Script里,并與Start連接上。鼠標(biāo)左鍵雙擊Planar Reflection模塊,可以打開(kāi)該模塊的設(shè)置窗口,設(shè)定對(duì)應(yīng)的group群組與鏡面反射的軸向,在此維
7、持原本的設(shè)定即可。接著按下窗口右下角的Play鍵可以執(zhí)行所編輯的流程,但在此卻發(fā)現(xiàn)并沒(méi)有如預(yù)期中呈現(xiàn)地板鏡像反射的效果。其實(shí)平面鏡像發(fā)射的效果是將需要反射的對(duì)象依照所設(shè)定的軸向?qū)ΨQ地復(fù)制一份,也就是說(shuō)并不是真的產(chǎn)生了反射,而是一種障眼法,所以,無(wú)法把效果顯示出來(lái)原因非常簡(jiǎn)單,就是地板將下面所復(fù)制的對(duì)稱對(duì)象遮住了,因此解決的方法就是把地板對(duì)象的材質(zhì)設(shè)定成半透明就行了。在此請(qǐng)打開(kāi)floor01的材質(zhì)設(shè)定,將Mode(模式)設(shè)定為T(mén)ransparent(透明),接著設(shè)定Diffuse顏色項(xiàng)目的Alpha值為200。再一次按下Play可以發(fā)現(xiàn)鏡像反射的效果已經(jīng)產(chǎn)生了。攝像機(jī)的設(shè)定請(qǐng)按下左邊Create
8、 Camera的按鍵創(chuàng)造一個(gè)新的攝像機(jī),而此時(shí)會(huì)發(fā)現(xiàn)顯示窗口已經(jīng)變成該攝像機(jī)的視點(diǎn),接著于Level Manager/Global/Cameras里找到該新增的攝像機(jī),選擇該攝影機(jī),按下按鍵F2便可以重新命名,我們將攝影機(jī)的名稱取名為Camera01。左邊的攝影機(jī)控制窗口可以調(diào)整攝影機(jī)的位置及其視野景深等,設(shè)定完后不要忘記要設(shè)定其初始值,接著創(chuàng)造該攝影機(jī)的Script,并加入BB/Cameras/Movement/Keyboard Camera Orbit(鍵盤(pán)環(huán)繞攝影機(jī))。 打開(kāi)Keyboard Camera Orbit模塊窗口,將Target Referential(參照目標(biāo))設(shè)定為evo
9、car車子角色對(duì)象, Move Speed(移動(dòng)速度)設(shè)為100,Return Speed(返回速度)設(shè)為0,Min Horizontal(最小水平旋轉(zhuǎn)角度)設(shè)為-1圈,Min Horizontal(最大水平旋轉(zhuǎn)角度)設(shè)為1圈, Min Vertical(最小垂直旋轉(zhuǎn)角度)設(shè)為-30,Max Horizontal(最大垂直旋轉(zhuǎn)角度)設(shè)為15, Zoom Speed(縮放速度)設(shè)為40,Zoom Min(縮放最小值)設(shè)為-40,Zoom Max(縮放最大值)設(shè)為10.再用鼠標(biāo)右鍵點(diǎn)擊Keyboard Camera Orbit模塊打開(kāi)編輯菜單,請(qǐng)選擇Edit Settings(編輯設(shè)置)便可以打開(kāi)
10、其模塊的按鍵對(duì)應(yīng)控制窗口,在這里我們?cè)O(shè)定Limit(限制),Returns(返回),Key Rotate Left(鍵盤(pán)左轉(zhuǎn))對(duì)應(yīng)為A,Key Rotate Right(鍵盤(pán)右轉(zhuǎn))對(duì)應(yīng)為D,Key Rotate Up(鍵盤(pán)上轉(zhuǎn))對(duì)應(yīng)為W,Key Rotate Dwon(鍵盤(pán)下轉(zhuǎn))對(duì)應(yīng)為X,Key Zoom In(鍵盤(pán)拉近)對(duì)應(yīng)為Q,Key Zoom Out(鍵盤(pán)拉遠(yuǎn))對(duì)應(yīng)為E.按下Play測(cè)試看看,這樣就可以利用所設(shè)定的按鍵來(lái)控制攝影機(jī)的視角了。燈頭和頭燈特效設(shè)定請(qǐng)按下左邊Create Light的按鍵創(chuàng)造一個(gè)燈光,在Level Manager/Global/Lights找到新的燈光,命名為L(zhǎng)
11、_light(左車燈)后,于左方對(duì)象調(diào)整區(qū),調(diào)整其位置和大小置于Evocar.nmo車子對(duì)象模型的左車燈的前面。 之后一樣在Level Manager/Global/Lights里,點(diǎn)擊L_light按下鼠標(biāo)右鍵打開(kāi)編輯窗口,點(diǎn)擊Setup便會(huì)跳出L_light對(duì)象的設(shè)置窗口,把設(shè)置窗口中的Type,從Point(點(diǎn)光源)改為Spot(聚光燈),之后調(diào)整Spot方式特有的黃色方向線,使燈光的投射方向符合車子車燈的投射方式,最后任意調(diào)整設(shè)置窗口里的Influence/Range(照亮范圍),完成后可按IC來(lái)設(shè)定初始狀態(tài)。加入VTrsc2/Textures/sun01.tga的亮光特效用Textu
12、re ,之后一樣點(diǎn)擊Level Manager/Global/Light里的L_light,按下鼠標(biāo)右鍵打開(kāi)編輯窗口,點(diǎn)擊Create Script來(lái)開(kāi)啟L_light的Script,并加入 BB/Lights/FX/Lens Flare(鏡頭光暈),連接Start后打開(kāi)Lens Flare,把里面的Flare Texture(光斑紋理)設(shè)定成剛導(dǎo)入的sun01,而Size Scale(尺寸大?。┰O(shè)成X:0.3、Y:0.3 。按下界面右下角的Play鍵,便能看到車燈特效。用上面方法,同樣制造車子的右車燈,并取名為R_light,這樣兩個(gè)車燈就OK了。接著,要在車子四周創(chuàng)造環(huán)境燈,一樣按下左邊C
13、reate Light 的按鍵創(chuàng)造一個(gè)新的燈光,取名為sky_light1,并隨意調(diào)整其位置于車子四周,設(shè)定大小,Setup和確定初始IC,與車燈不同的是TYPE不需要更改設(shè)定,用Point(點(diǎn)光源)就可以了,設(shè)定好之后按下Play,在此卻發(fā)現(xiàn)畫(huà)面上并無(wú)任何變化。原因在于之前在設(shè)定車子和地板的Material(材質(zhì))時(shí),材質(zhì)的Emissive(放射)調(diào)的太亮,應(yīng)該調(diào)暗點(diǎn)才對(duì),因?yàn)镋missive的作用,在于對(duì)應(yīng)的Material是否自行發(fā)光,如果車子和地板上的Material全部發(fā)光,也代表車子和地板自己本身會(huì)自行發(fā)光。如此,如果我們創(chuàng)造環(huán)境燈在車子和地板四周,光的效果就會(huì)被車子本身發(fā)出的光蓋
14、住,所以我們才會(huì)感覺(jué)沒(méi)有變化。由此可知,我們應(yīng)該把車子和地板模型的全部材質(zhì)(car body、car_window2、car window、car logo、car item和floor01)的Emissive值都調(diào)整到少量自發(fā)光的數(shù)值,之后再按Play,就會(huì)發(fā)現(xiàn)已經(jīng)有變化了。利用創(chuàng)造環(huán)境燈sky_light1的方法,再創(chuàng)造其他三盞燈,分別取名為sky_light2、sky_light3、sky_light4,且讓四盞環(huán)境燈分別放在車子的前后左右四周,再按下Play,這樣特效燈和環(huán)境燈就設(shè)置完畢了。 車身變色和展示功能菜單設(shè)置 隨意變換3D模型的顏色,在現(xiàn)今不管是單機(jī)游戲或是在線游戲,都是非常
15、常見(jiàn)的一種功能,尤其是RPG類型游戲,開(kāi)始游戲時(shí),會(huì)要求玩家創(chuàng)造自己的角色,并且選擇角色的發(fā)色和膚色等,就要用的此技術(shù),而功能強(qiáng)大的Virtools Dev開(kāi)發(fā)工具,當(dāng)然能輕松做出這種技術(shù),現(xiàn)在我們就用最不耗效能的方法,把這種變換3D模型顏色的技術(shù),用在我們剛剛創(chuàng)造好的車子模型上。首先我們需要一個(gè)控制菜單,所以先按下左邊的Create 2D Frame,來(lái)創(chuàng)建一個(gè)2D Frame(平面的對(duì)象),并在Level Manager/Global/2D Frames找到新創(chuàng)建的2D Frame,并把它取名為modify_skin,之后調(diào)整它的位置和大小到畫(huà)面上方。 因?yàn)槲覀儎?chuàng)的2D Frame,現(xiàn)在還
16、沒(méi)有材質(zhì),所以是空心的,點(diǎn)擊左邊的Create Material(創(chuàng)建材質(zhì)),之后一樣去Level Manager/Global/Materials找到新創(chuàng)的Material,并取名為modify_skin,開(kāi)啟Level Manager/Global/2D Frames/modify_skin的Setup設(shè)置窗口,把窗口里的Material,設(shè)成剛剛創(chuàng)立且取同名的modify_skin,并且在General/Homogeneous Coordinates選項(xiàng)里打X選取,這樣2D Frame就會(huì)以屏幕比例為位置依據(jù),最后在Position/Z Order設(shè)為-2.已經(jīng)有材質(zhì)后,可以在Level
17、 Manager/Global/2D Frames/modify_skin按右鍵選擇Setup,來(lái)開(kāi)啟Materials/modify_skin的設(shè)置窗口,更改窗口的Diffuse,來(lái)調(diào)整Material的顏色,也由此改變2D Frame的顏色。 這樣,大型菜單就制作完成了。不過(guò)還需要制作大菜單里的小選項(xiàng)!所以用上面說(shuō)明的2D Frame、Material制作方法,來(lái)制作其他小選項(xiàng)吧,順便當(dāng)做練習(xí)。而小選項(xiàng)的做法和大菜單一樣,唯一不同之處在于 2D Frame的Setup設(shè)置窗口里面的Position/Z Order,要設(shè)定成-1,這樣才能讓小選項(xiàng)迭加在大菜單上。小選項(xiàng)共需要11個(gè),因?yàn)樘啵?/p>
18、而且做法都和以上敘述的一樣,所以為了方便讀者學(xué)習(xí),請(qǐng)直接使用VTrsc素材里面已經(jīng)幫讀者做好的模塊,刪除剛才練習(xí)所創(chuàng)造的2D Frame、Material,直接加載VTrsc2.rsc/3D Entities/evo_modify_skin.nmo,之后會(huì)發(fā)現(xiàn)大菜單和11個(gè)小選項(xiàng),不管是2D Frame對(duì)象本身還是Material,都已經(jīng)創(chuàng)造完成!不過(guò)12個(gè)2D Frame都還沒(méi)有設(shè)定大小位置和初始IC,所以請(qǐng)一個(gè)一個(gè)設(shè)定大小,調(diào)到喜歡的位置,并到Setup窗口里的General/Homogeneous Coordinates選項(xiàng)里打X,以變成屏幕比例顯示,之后初始IC。現(xiàn)在我們就開(kāi)始來(lái)制作菜
19、單吧。點(diǎn)擊Level Manager/Global/2D Frames/modify_skin的大菜單2D Frame,按右鍵選擇Create Script開(kāi)啟2D Frames/modify_skin的Script。加入BB/Controllers/Mouse/Mouse Waiter(鼠標(biāo)等待器)和BB/Interface/Screen/2D Picking(2D鼠標(biāo)點(diǎn)擊狀態(tài)判斷)。接著讓Mouse Waiter的執(zhí)行輸入On和Start連接,2D Picking的執(zhí)行輸入In和Mouse Waiter的執(zhí)行輸出Left Button Down Received(接收到鼠標(biāo)左鍵按下的信息)
20、連接,如此當(dāng)執(zhí)行Play時(shí),我們只要按下鼠標(biāo)左鍵,Mouse Waiter就會(huì)開(kāi)啟Left Button Down Received而執(zhí)行2D Picking。點(diǎn)擊2D Picking下方的Sprite數(shù)值輸出端,按右鍵選擇Copy,點(diǎn)擊后再旁邊空白處按右鍵選擇Paste as Shortcut(粘貼為快捷方式 ),來(lái)開(kāi)啟輸出端Sprite對(duì)應(yīng)快捷方式.再點(diǎn)擊剛剛創(chuàng)建出來(lái)的Sprite快捷方式,按鼠標(biāo)右鍵選擇Change Parameter Display Spacebar(按空格鍵改變參數(shù)顯示方式),跳出Spacebar的菜單后,請(qǐng)選擇Name and Value(名字和數(shù)值),如此我們就可
21、以輕松觀察Sprite輸出端的變化。為了看Sprite輸出端的變化,我們先按下Play,并且點(diǎn)擊上面的大菜單和小選項(xiàng),之后會(huì)發(fā)現(xiàn)我們點(diǎn)擊的大小菜單2D Frames名稱,都會(huì)顯示在Sprite輸出端上,所以簡(jiǎn)單的說(shuō),2D Picking是用來(lái)幫我們?nèi)サ奈覀兡壳笆髽?biāo)點(diǎn)擊到什么對(duì)象的程序。再加入BB/Logics/Streaming/Switch On Parameter(轉(zhuǎn)接參數(shù))到2D Frames/modify_skin的Script里,并讓2D Picking的執(zhí)行輸出端True,連接Switch On Parameter的執(zhí)行輸入端In;而2D Picking的執(zhí)行輸出端False連回M
22、ouse Waiter的執(zhí)行輸入端。點(diǎn)擊Switch On Parameter的參數(shù)輸入端Test,把數(shù)據(jù)類型從Float改成2D Entity,并且讓2D Picking的Sprite輸出端連到Switch On Parameter的參數(shù)輸入端。 因?yàn)镾witch On Parameter的作用在于,用參數(shù)輸入端Test的參數(shù)值當(dāng)一個(gè)參考點(diǎn),來(lái)對(duì)比下方的其他參數(shù)值是否和它一樣,如果有參數(shù)值和Test一樣,就開(kāi)啟相對(duì)應(yīng)的輸出執(zhí)行端。如果不懂也沒(méi)關(guān)系,首先先點(diǎn)擊Switch On Parameter打開(kāi)設(shè)置窗口,并將Pin 1設(shè)定成2D Frame的Car_Color1。這樣設(shè)定就表示當(dāng)你執(zhí)行P
23、lay時(shí),用鼠標(biāo)點(diǎn)擊上面的紅色小選項(xiàng),點(diǎn)擊的2D Frame名稱Car_Color1,2D Picking馬上就會(huì)抓到,并且在Sprite端輸出給接受的Switch On Parameter的Test端,而Test再比對(duì)Pin 1是否有一樣的參數(shù),有就再開(kāi)啟Pin 1的相應(yīng)輸出Out1,簡(jiǎn)單地說(shuō),就是當(dāng)點(diǎn)擊到紅色小選項(xiàng)的2D Frame“Car_Color1”,Out1才會(huì)打開(kāi),而點(diǎn)擊其他2D Frame,Out1都不會(huì)響應(yīng)。如果還是不懂也沒(méi)有關(guān)系,首先點(diǎn)擊Switch On Parameter,按右鍵選取Construct,彈出菜單后,選擇Add Behavior Output(增加狀態(tài)輸出
24、),點(diǎn)擊后會(huì)發(fā)現(xiàn)Switch On Parameter多了一個(gè)參數(shù)輸入端Pin1和執(zhí)行輸出端Out2,再打開(kāi)Switch On Parameter,能看到多了一個(gè)選擇項(xiàng)。把Pin 2設(shè)定成2D Frame的“Car_Color2” 。如此設(shè)定后,在Play下,當(dāng)我們用鼠標(biāo)點(diǎn)擊2D Frame的名字是“Car_Color1”的紅色選項(xiàng)時(shí),Switch On Parameter就會(huì)只執(zhí)行Pin 1的Out1;如果是按下2D Frame的名字是“Car_Color2”的藍(lán)色選項(xiàng)時(shí),Switch On Parameter就理所當(dāng)然會(huì)執(zhí)行Pin2的Out2。因?yàn)樯厦娴男∵x項(xiàng)總共有11項(xiàng),所以我們用創(chuàng)造P
25、in2的方法,來(lái)創(chuàng)造其他9個(gè)Pin,并且一一設(shè)定成2D Frame的“Car_Color3”、“Car_Color4”、“Car_Color5”、“Light_On”、“Light_Off”、“Reflection_On”、“Reflection_Off”、“Auto_Rotate_On”、“Auto_Rotate_Off”,如此當(dāng)我們點(diǎn)擊不同的2D Frame時(shí),Switch On Parameter 就會(huì)開(kāi)啟相對(duì)應(yīng)的Out,這樣,菜單就完成了。 車身變色切換開(kāi)關(guān)設(shè)定 接著就來(lái)說(shuō)明11個(gè)2D Frame小選項(xiàng)的用途吧 ,“Car_Color1”“Car_Color5”是顏色變換 ,“Ligh
26、t_On”和“Light_Off”是車燈開(kāi)關(guān) ,“Reflection_On”和“Reflection_Off”是鏡像反射開(kāi)關(guān) ,“Auto_Rotate_On”和“Auto_Rotate_Off”是自動(dòng)旋轉(zhuǎn)開(kāi)關(guān)。 我們就先來(lái)制作車身變色功能。改變車身顏色,應(yīng)該從車子模型的Materials里的顏色換起,而控制車身的Materials是car body。但是問(wèn)題來(lái)了,因?yàn)槲覀円呀?jīng)設(shè)定car body為Effect/Tex Gen功能方式的貼圖了,這樣的話,我們?nèi)绻獡QMaterials的顏色,就會(huì)被以Tex Gen方式所貼的反射紋理破壞,變色的就只有反射層,車子本身不變色,但是如果不用反射紋理
27、又會(huì)讓車子沒(méi)有反射質(zhì)感。所以為了解決這個(gè)難題,我們就是用更高級(jí)的Effect功能Combine 2 Textures(混合2張紋理),讓一層是車子的反射層紋理,一層是車子的基本紋理。因?yàn)槲覀円玫降墓δ蹸ombine 2 Textures(混合2張紋理),需要用到兩張紋理,所以首先按下左邊的Create Texture(創(chuàng)造紋理),來(lái)創(chuàng)造一個(gè)沒(méi)有任何作用的空紋理當(dāng)?shù)讏D,而我們要變色用的就是此紋理,創(chuàng)造后打開(kāi)新紋理的Setup設(shè)定界面,會(huì)發(fā)現(xiàn)兩個(gè)黑框框,于左邊的黑框按鼠標(biāo)右鍵,選擇Invert Slot(逆轉(zhuǎn)),左邊框框就會(huì)變成白色,之后任意取名后設(shè)定IC。然后請(qǐng)開(kāi)啟Materials“car
28、body”的Setup設(shè)置窗口,把窗口上的Texture從background002改成剛創(chuàng)造的新紋理,把Effect從Tex Gen改成Combine 2 Textures ,此時(shí)下方會(huì)讓你選擇第二張紋理Texture1,選回background002。開(kāi)啟下方Params,并把Combine(結(jié)合方式)設(shè)定為成Add Signed 2X(增加標(biāo)記2X),TexGen(混合方式)設(shè)定為CubeMap Reflact(六面體紋理反射),此時(shí)看到車子是白色,那是因?yàn)槲覀儎?chuàng)的假紋理是白色的原因,雖然車是白色的,但一樣擁有反射質(zhì)感,此時(shí)別忘記了要重新設(shè)定初始值IC??梢匀我庹{(diào)整Materials“c
29、ar body”設(shè)置窗口的Diffuse,來(lái)更改車身顏色。再來(lái),就是設(shè)定“直接按2D Frame就能換顏色”的功能,請(qǐng)先加入BB/Logics/Streaming/Parameter Selector(參數(shù)選擇器)到2D Frames/modify_skin的Script,來(lái)配合Switch On Parameter的使用,并點(diǎn)擊Parameter Selector 的下方參數(shù)輸出端,把數(shù)據(jù)類型從Float改為Color。 之后請(qǐng)打開(kāi)Parameter Selector,把Pin0的顏色調(diào)成紅色、Pin1的顏色 調(diào)成藍(lán)色,并把Parameter Selector的執(zhí)行輸入端In0和In1,分別
30、連接上Switch On Parameter的執(zhí)行輸出端Out1和Out2。再加入BB/Materials-Textures/Basic/Set Diffuse(設(shè)定漫反射),打開(kāi)后把Target(對(duì)象)設(shè)定成Materials的car body,并且把Set Diffuse的執(zhí)行輸入端In和Parameter Selector的執(zhí)行輸出端Out連接起來(lái),Parameter Selector的參數(shù)輸出端Selected連接到Set Diffuse的參數(shù)輸入端Diffuse Color。點(diǎn)擊上方紅色的2D Frame或者藍(lán)色的2D Frame,就可以隨按隨換顏色了,舉例說(shuō)明假設(shè)當(dāng)我按下紅色的2D
31、 Frame時(shí),2D Picking馬上就會(huì)抓到紅色2D Frame的文件名 ,并傳送給Switch On Parameter,之后Switch On Parameter會(huì)開(kāi)啟2D Frame的文件同名的對(duì)應(yīng)輸出Out1,Out1會(huì)傳給Parameter Selector的執(zhí)行輸入端In0,開(kāi)啟In0設(shè)定的顏色參數(shù)紅色、再傳給Set Diffuse所指定的對(duì)象car body,并且因此改變car body的顏色來(lái)變換車身顏色。 已經(jīng)會(huì)制作兩個(gè)顏色變換了,剩下三個(gè)當(dāng)然輕而易舉,點(diǎn)擊Parameter Selector后按右鍵選擇Construct,在彈出菜單中選擇Add Behavior Inp
32、ut(增加狀態(tài)輸入),會(huì)發(fā)現(xiàn)和Switch On Parameter 類似 ,增加了執(zhí)行輸入端In和參數(shù)輸入端Pin ,所以一樣再增加兩次Add Behavior Input,之后再打開(kāi)Parameter Selector,把新的執(zhí)行輸入端Pin2、Pin3、Pin4,分別設(shè)定成黑色、黃色、綠色,然后把新的執(zhí)行輸入端In2、In3、In4,分別接上Switch On Parameter的執(zhí)行輸出端Out3、Out4、Out5,如此,五個(gè)變換顏色的功能就制作完成了,需要變色的時(shí)候按下Play后任意選擇按上方變換顏色的2D Frame即可。車燈開(kāi)關(guān)功能設(shè)定接下來(lái),開(kāi)始制作下一個(gè)功能:車燈的開(kāi)關(guān)!車
33、燈是用兩部分組成的障眼法,一部分是發(fā)亮的光,另一部分是特效圖片的光。所以我們先解決關(guān)閉或打開(kāi)特效圖片光的部分吧,其實(shí)要關(guān)閉特效圖片非常簡(jiǎn)單,L(R) _light Script的Lens Flare程序能創(chuàng)造特效圖片光,當(dāng)然就能關(guān)閉。所以請(qǐng)讀者觀看程序Lens Flare ,會(huì)發(fā)現(xiàn)Lens Flare的執(zhí)行輸入端Off,我們只要把開(kāi)關(guān)燈光2D Frame對(duì)應(yīng)的Switch On Parameter執(zhí)行輸出端Out6、Out7連接到Lens Flare的執(zhí)行輸入端On、Off,就能點(diǎn)擊2D Frame來(lái)開(kāi)或關(guān)。但是兩個(gè)Lens Flare和Switch On Parameter被設(shè)置于不同的Sc
34、ript上,所以先點(diǎn)擊L_light的Lens Flare按右鍵 Add Target Parameter(增加參考對(duì)象參數(shù)) ,再去R _light的Lens Flare執(zhí)行一樣的動(dòng)作,按右鍵Add Target Parameter(增加參考對(duì)象參數(shù))。請(qǐng)利用Cut/Paste (剪切/粘貼)的功能,把兩個(gè)Lens Flare從原本的Script,都移動(dòng)到2D Frames/modify_skin的Script上連接 。之后打開(kāi)會(huì)發(fā)現(xiàn)需要重新設(shè)定里面的值,我們把其中一個(gè)Lens Flare設(shè)定成Target為L(zhǎng)_light,F(xiàn)lare Array為Null,Flare Texture為sun
35、01,Size Scale X:0.3 Y:0.3;另一個(gè)Lens Flare 除了Target設(shè)成R_Light外 ,剩下的和之前的Lens Flare 一樣。接下來(lái),如之前所述,將開(kāi)關(guān)燈光2D Frame對(duì)應(yīng)的Switch ON Parameter執(zhí)行輸出端Out6、Out7連接到Lens Flare的執(zhí)行輸入端On、Off,這樣當(dāng)我們按下2D Frame/light_on 時(shí),特效圖片就會(huì)打開(kāi),按下2D Frame/light_off時(shí),特效圖片就會(huì)關(guān)閉。 燈光的第一部分完成,不過(guò)雖然現(xiàn)在已經(jīng)可以開(kāi)關(guān)特效紋理了,但是真正的光卻還是發(fā)亮,所以請(qǐng)加入BB/Logics/Streaming/P
36、arameter Selector(參數(shù)選擇器)到2D Frames/modify_skin的Script上,并且一樣點(diǎn)擊Parameter Selector的下方參數(shù)輸出端,把數(shù)據(jù)類型從Float改成Color 。讀者會(huì)發(fā)現(xiàn)這步驟和之前制作變色車身一樣,但是為何不用之前的Parameter Selector在Add Behavior Input(增加狀態(tài)輸入)?其實(shí)是因?yàn)橹笪覀円B接的BB不是Set Diffuse(設(shè)定漫反射) 而是 Set Light Color(設(shè)置燈光顏色)。說(shuō)到這里,可能讀者會(huì)問(wèn),為何燈光的開(kāi)關(guān)與否和燈光顏色有關(guān)系,其實(shí)之前也有說(shuō)過(guò),虛擬現(xiàn)實(shí)里的東西都是用障眼法合
37、成的,所以不能用一般常識(shí)思考,當(dāng)燈的顏色是白色時(shí),因?yàn)榘咨亲盍恋念伾?,所以我們?huì)感覺(jué)燈在發(fā)光;相反的若用黑色?黑色是最暗的顏色,當(dāng)然我們就看不到,看不到就會(huì)感覺(jué)不發(fā)光,何況現(xiàn)實(shí)世界里面是沒(méi)有黑色光這種東西,所以這是虛擬現(xiàn)實(shí)里面才有的障眼法,而此方法也廣泛應(yīng)用在在線游戲的日夜交替系統(tǒng)上。所以請(qǐng)加入Set Light Color(設(shè)置燈光顏色)到2D Frames/modify_skin的Script上,并且打開(kāi)Set Light Color,把Target(Light)設(shè)成L_light,并把Parameter Selector的執(zhí)行輸出端Out和Set Light Color的執(zhí)行輸入端In
38、連接,Parameter Selector的參數(shù)輸出端Selected和Set Light Color的參數(shù)輸入端Color連接。打開(kāi)Parameter Selector,把pIn0的顏色調(diào)成白色、pIn1的顏色調(diào)成黑色,并把Parameter Selector的執(zhí)行輸入端In0和In1,分別連接上Switch On Parameter的執(zhí)行輸出端的Out6和Out7,這樣當(dāng)我們關(guān)掉車燈時(shí),就會(huì)執(zhí)行關(guān)掉光和關(guān)掉特效紋理?,F(xiàn)在值設(shè)定了左車燈的Set Light Color ,所以請(qǐng)?jiān)偌尤胍粋€(gè)Set Light Color,并且打開(kāi)后把Target(Light)設(shè)成R_light,之后仿照上面的做
39、法來(lái)連接,車燈開(kāi)關(guān)功能就大功告成了,按下Play來(lái)測(cè)試吧。 鏡像反射地板開(kāi)關(guān)設(shè)定接下來(lái)我們要來(lái)制作鏡像反射的開(kāi)關(guān),而鏡像反射開(kāi)關(guān)和我們剛才制作的車燈開(kāi)關(guān)有一點(diǎn)雷同,就是鏡像反射開(kāi)關(guān)用到的BB程序,像floor01 Script的Planar Reflection(平面反射對(duì)象)一樣有一個(gè) Off的執(zhí)行輸入端,所以我們參照之前的動(dòng)作,點(diǎn)擊Planar Reflection后按右鍵選擇Add Target Parameter(增加參考對(duì)象參數(shù)),之后用Cut/Paste(剪切/粘貼)的功能 ,把Planar Reflection從floor01 Script移動(dòng)到2D Frames/modify_
40、skin的Script上連接Start,并且打開(kāi)Planar Reflection把Target設(shè)定成floor01 。把鏡像反射開(kāi)關(guān)2D Frame對(duì)應(yīng)Switch On Parameter的執(zhí)行輸出端Out8、Out9連接到Planar Reflection的執(zhí)行輸入端On、Off,之后鏡像反射開(kāi)關(guān)也完成了,按下Play試試吧。自動(dòng)旋轉(zhuǎn)開(kāi)關(guān)功能設(shè)定剩下最后一個(gè)功能“自動(dòng)回轉(zhuǎn)”。雖然自動(dòng)回轉(zhuǎn)很簡(jiǎn)單,但是因?yàn)槲覀冎霸O(shè)置了一個(gè)Keyboard Camera Orbit(鍵盤(pán)控制攝影機(jī)環(huán)繞旋轉(zhuǎn))來(lái)操作攝影機(jī)。如果我們直接設(shè)定自動(dòng)回轉(zhuǎn),自動(dòng)回轉(zhuǎn)會(huì)因?yàn)镵eyboard Camera Orbit 的關(guān)
41、系而失效,所以我們的思考邏輯要變成,當(dāng)我們點(diǎn)了自動(dòng)回轉(zhuǎn)開(kāi)始的2D Frame后,首先要關(guān)閉Keyboard Camera Orbit再開(kāi)啟自動(dòng)回轉(zhuǎn);相反的,如果我們點(diǎn)擊了自動(dòng)回轉(zhuǎn)關(guān)閉的2D Frame,會(huì)執(zhí)行自動(dòng)回轉(zhuǎn)先關(guān)閉,再開(kāi)Keyboard Camera Orbit來(lái)恢復(fù)操作。有了思考邏輯,就來(lái)制作吧!請(qǐng)加入兩個(gè)BB/Logics/Calculator/Identity(宣告)到2D Frames/modify_skin的Script上,并且分別和Switch On Parameter 的執(zhí)行輸出端Out10、Out11連接。分別點(diǎn)擊兩個(gè)Identity 的參數(shù)輸入端pIn0 ,并把數(shù)據(jù)類
42、型從Float改成Boolean,改好后打開(kāi)Out10所連接的Identity,把選項(xiàng)打“X”選取。請(qǐng)參照移動(dòng)燈光的BB程序Lens Flare或鏡像反射的BB程序Planar Reflection的方法,把這次要使用開(kāi)關(guān)的Keyboard Camera Orbit,從Camera01 Script移動(dòng)到2D Frames/modify_skin的Script上連接Start ,別忘了換Script后要重新設(shè)定程序的內(nèi)容,雖然麻煩,但是當(dāng)做是練習(xí)吧,把Keyboard Camera Orbit打開(kāi),新的Target請(qǐng)?jiān)O(shè)定為Camera01,Target Referential(參照目標(biāo))設(shè)定為
43、evocar車子角色對(duì)象,Move Speed(移動(dòng)速度)設(shè)為100,Return Speed(返回速度)設(shè)為0,Min Horizontal(最小水平旋轉(zhuǎn)角度)設(shè)為-1圈,Max Horizontal(最大水平旋轉(zhuǎn)角度)設(shè)為1圈,Min Vertical(最小垂直旋轉(zhuǎn)角度)設(shè)為-30,Max Vertical(最大垂直旋轉(zhuǎn)角度)設(shè)為15,Zoom Speed(縮放速度)設(shè)為40,Zoom Min(縮放最小值)設(shè)為-40,Zoom Max(縮放最大值)設(shè)為10。把Keyboard Camera Orbit拖到Identity后面,并且讓Out10連接的有打X的Identity執(zhí)行輸出Out,連
44、接上Keyboard Camera Orbit的執(zhí)行輸入Off;而Out11連接的另一個(gè)Identity,執(zhí)行輸出Out請(qǐng)連接上Keyboard Camera Orbit的執(zhí)行輸入On。設(shè)定好后,當(dāng)我們按下自動(dòng)回轉(zhuǎn)開(kāi)始的2D Frame時(shí),雖然還是不會(huì)旋轉(zhuǎn),但是已經(jīng)能夠關(guān)掉Keyboard Camera Orbit了?,F(xiàn)在我們來(lái)設(shè)定自動(dòng)回轉(zhuǎn),加入BB/Logics/Streaming/Binary Switch(布爾轉(zhuǎn)接) 到2D Frames/modify_skin的Script,之后讓Binary Switch的執(zhí)行輸入In ,和Out10連接的打X的Identity執(zhí)行輸出Out,兩個(gè)I
45、dentity的pOut0參數(shù)輸出一起都連接到Binary Switch的參數(shù),注意!不是參數(shù)輸入端,而是連到參數(shù),之后打開(kāi)Binary Switch把Condition框框里的X取消掉。加入BB/3D Transformations/Basic/Rotate Around(盤(pán)旋)和BB/3D Transformations/Constraint/Look At(注視)到2D Frames/modify_skin的Script上,并且把Binary Switch的執(zhí)行輸出True連到Rotate Around 的執(zhí)行輸入In,Rotate Around的執(zhí)行輸出Out連到Look At的執(zhí)行輸
46、入In,而Look At的執(zhí)行輸出Out ,連回 Binary Switch的執(zhí)行輸入In,做成一個(gè)循環(huán)。打開(kāi)Rotate Around和的Look At調(diào)整設(shè)定 ,把兩個(gè)BB里的Target(3D Entity)都設(shè)給Camera01,Referntial都設(shè)給evocar,而Look At的Follow Speed(跟隨速度)調(diào)整成100%。自動(dòng)回轉(zhuǎn)功能就已經(jīng)完成99%了,可能讀者還不太懂為何要這么做,我們就來(lái)研究原理吧,當(dāng)我們按下自動(dòng)回轉(zhuǎn)開(kāi)始的2D Frame ,Switch On Parameter的執(zhí)行輸出端Out10就會(huì)自動(dòng)啟動(dòng),之后經(jīng)過(guò)打X的Identity,該Identity因
47、為有打X,所以是Boolean的True ,當(dāng)True 傳給Binary Switch時(shí),Binary Switch就會(huì)啟動(dòng)執(zhí)行輸出端True,也因此啟動(dòng)了連接在后的Rotate Around和的Look At,而打X的Identity也會(huì)自動(dòng)啟動(dòng)到Keyboard Camera Orbit的Off,這就是之前所思考到的路徑,關(guān)Keyboard Camera Orbit再開(kāi)Rotate Around。而相反的按下自動(dòng)回轉(zhuǎn)關(guān)閉的2D Frame,Switch On Parameter的執(zhí)行輸出端Out11會(huì)啟動(dòng),自后經(jīng)過(guò)沒(méi)X的Identity,沒(méi)X的Identity是false,所以傳給Binary Switch后,只會(huì)開(kāi)啟執(zhí)行輸出端False,則True會(huì)關(guān)閉,而B(niǎo)inary Swtich執(zhí)行輸出端False后面
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木制容器設(shè)計(jì)與制造的綠色工藝考核試卷
- 服裝零售店鋪經(jīng)營(yíng)績(jī)效評(píng)估與改進(jìn)措施考核試卷
- 機(jī)器人智能識(shí)別與追蹤技術(shù)考核試卷
- 制糖業(yè)的市場(chǎng)滲透與渠道拓展考核試卷
- 期刊出版商業(yè)模式考核試卷
- 批發(fā)業(yè)務(wù)中的國(guó)際物流考核試卷
- 醫(yī)院護(hù)士就業(yè)合同范本
- 蘇州新版裝修合同范本
- 人工智能智能城市規(guī)劃與設(shè)計(jì)協(xié)議
- 餐廚廢棄物處理合同
- 人工智能對(duì)輿情管理的價(jià)值
- 地理-河南省部分重點(diǎn)高中九師聯(lián)盟2024-2025學(xué)年高三下學(xué)期2月開(kāi)學(xué)考試試題和答案
- 老年護(hù)理相關(guān)法律法規(guī)
- 《陶瓷工藝技術(shù)》課件
- 變更強(qiáng)制措施的申請(qǐng)書(shū)
- 供電所安全演講
- 供應(yīng)鏈韌性提升與風(fēng)險(xiǎn)防范-深度研究
- 化工原理完整(天大版)課件
- 《淞滬會(huì)戰(zhàn)》課件
- 《智能制造技術(shù)基礎(chǔ)》課件-第4章 加工過(guò)程的智能監(jiān)測(cè)與控制
- 罪犯正常死亡報(bào)告范文
評(píng)論
0/150
提交評(píng)論