腳本發射器
『壹』 scratch中我想讓這個猴子走的方向按箭頭方向怎麼寫腳本。
將方向對於發射器放到面向90方向里
『貳』 誰有破解 nVidia 3DTV Play 連接 3DTV 的方法
nVIDIA 基本上算是目前電腦相關領域上,推 3D 立體推的最勤勞的廠商了;他的 3D Vision(開箱文)系統,也算是目前電腦上數一數二完整的立體顯示方案。尤其相較於 AMD 的 HD3D(官網)和 Intel 的 Intru 3D(官網)都只是提供 HDMI 1.4 的立體輸出能力,nVIDIA 的 3D Vision 系統還提供了游戲的中介轉換丶可以把一般的 Direct 3D 游戲立體化,功能算是多了不少~(AMD 和 Intel 的平台應該都需要額外的中介軟體,例如 iZ3D Driver丶或是 DDD 的 TriDef 3-D)
nVIDIA 的 3D Vision(官網丶注一)基本上是一整套的系統,要能使用,必須滿足以下的條件(官方網頁):
■Windows Vista 或 Windows 7 的作業系統
■支援 nVIDIA 3D Vision 的 GeForce 顯示卡(基本上 GeForce 8 以後都支援)
■nVIDIA 3D Vision 套件(包含紅外線同步訊號發射器以及 3D 立體眼鏡)
■支援 nVIDIA 3D Vision 的 3D 立體螢幕
這樣的立體顯示系統,基本上就是要完全符合 nVIDIA 所定義的標准丶並且全部使用 nVIDIA 相容的產品了~
nVIDIA 3D TV Play
但是實際上,目前在家用的立體顯示方面,已經有定義出標準的 HDMI 1.4 訊號,也已經有不少支援 HDMI 1.4 3D 立體的電視丶螢幕了;而當使用這類的立體螢幕的時候,實際上都是要搭配電視/螢幕本身所配的立體眼鏡,才能正確地看到立體效果的。所以,實際上在搭配 HDMI 1.4 的立體顯示器的時候,是用不到 3D Vision 套件的!
那 nVIDIA 在這方面有什麽解決方案嗎?實際上,nVIDIA 針對有支援 HDMI 1.4 的新的顯示卡(GeForce 200 以後的顯示卡),有推出了所謂的「nVIDIA 3D TV Play」(官網丶系統需求),用來處理連接 HDMI 1.4 的 3D 電視/螢幕的狀況。不過,很遺憾的是,雖然其實軟體方面的功能都已經包在驅動程式里了,但是 3D TV Play 並不是完全免費的;要使用 nVIDIA 3D TV Play,目前有下面三種方案:
■如果電腦有連接 3D Vision 紅外線同步訊號發射器的話,可以免費使用 3D TV Play
■部分套裝電腦丶筆記電腦,有直接附贈 3D TV Play(列表)
■其他使用者,需要額外購買 3D TV Play(購物網站),才可以啟用 3D TV Play 的功能
也就是,對於一般組裝電腦的使用者來說,要讓電腦可以透過 HDMI 1.4 把立體畫面送給 3D 電視來顯示的話,要不就是買一組 3D Vision Kit 來接(實際不會用到,但是就是得接著),不然就是要購買 3D TV Play 的軟體才可以;也就是,都得花錢買東西就是了~
破解
由於 nVIDIA 的顯示卡驅動程式只要判斷有接上 3D Vision 的紅外線同步訊號發射器(以下簡稱「發射器」),就會允許使用 3D TV Play 的功能;所以理論上只要想辦法讓 nVIDIA 驅動程式認為電腦有接上發射器,就可以免費開啟 3D TV Play 了~
實際上可行嗎?答案是可以的,有一位名叫 Alexpk 的俄國人,已經成功地透過透過微軟的 Device Simulation Framework(微軟網站),來建立一個虛擬的 USB 發射器裝置丶讓 3D TV Play 可以使用了!原作者的相關說明的網頁自然也都是俄文的,不過可以透過 Google 翻譯,勉強翻到可以閱讀的狀況(網址);或者,也可以參考《Tutorial: Enable 3DTV Play on any HDMI 1.4 Device for Free》這篇文章。接下來,則是 Heresy 自己的整理。
這個模擬器可以在 Windows 7 的 32/64 位元版本下運作,要使用這個模擬器,需要先下載 Alexpk 所製作出來的程式, 3D-Vision-Emulator.zip (3.24 MB, 下載次數: 13746) 。這個壓縮檔解壓縮後,會有六個檔案丶和一個名為「DSF」的資料夾(如右圖)。其中,檔案的意義分別如下:
■DSF 這個資料夾里還有三個檔案,就是 Device Simulation Framework 的 runtime 的安裝程式。裡面的「DSFx64Runtime.msi」是 64 位元用的丶「DSFx86Runtime.msi」則是 32 位元用的。
■「3d.dll」和「3d_x64.dll」是虛擬的紅外線發射器所需要的檔案,前者是 32 位元版丶後者則是 64 位元版。
■「init.bat」和「init_x64.bat」這兩個檔案算是安裝虛擬發射器用的。
■「enablestereo.wsf」這個檔案是用來接上虛擬發射器用的腳本程式,「enablestereo.bat」則是用來執行這個腳本程式的批次檔。
而要安裝的話,以 64 位元 Windows 來說,則是依照下面的流程:
1.
安裝 Device Simulation Framework
執行「DSFx64Runtime.msi」(32 位元就是「DSFx86Runtime.msi」),以安裝 Device Simulation Framework。
2.
安裝虛擬發射器
開啟一個管理者許可權的命令提示字元,然後以這個命令提示字元,來執行「init_x64.bat」這個批次檔(32 為原則是「init.bat」)以進行安裝(注二)。不過要注意的一點是,由於這個步驟包含了要把「3d_x64.dll」登記到系統里的動作,在安裝之後,就不適合移動丶或是刪除這些檔案了;所以建議在執行這個步驟前,先決定要把這些檔案放在哪裡會比較好(注三)。
詳細步驟方法:
1.
按左下角 Windows 鈕丶在「搜尋程式及檔案」的地方輸入「cmd」,然後壓著鍵盤的 Ctrl丶Shfit 後,按下 Enter,就可以教出一個以管理者許可權執行的命令提示字元了。
2.
假設 init_x64.bat 這個檔案的位置是在「D:\[Driver]\3Dvision」的話,在命令提示字元視窗里,就要先輸入「D:」按 Enter丶切換到磁碟機 D:\,然後再輸入「cd D:\[Driver]\3Dvision」按 Enter,進入到這個資料夾內。
3.
接下來輸入「init_x64」後按 Enter,就可以進行安裝了~
執行後應該會是這樣的畫面:
3.
接上虛擬發射器
接下來,執行「enablestereo.bat」(這步驟不用管理員身分,所以直接點兩下就可以了),他會去執行「enablestereo.wsf」這個腳本程式,來接上虛擬的 USB 發射器。 執行後會出現下面這樣的視窗;請注意,這個視窗請先不要按右上角的「X」關閉!
同時,在第一次執行的時候,裝置管理員也會開始搜尋硬體丶並安裝驅動程式;如果一切正確的話,驅動程式應該都可以正確地找到丶並安裝。 安裝完成後,在裝置管理員里的「通用序列匯流排控制器」下,應該要多出「NVIDIA Stereoscopic 3D USB controller」這個裝置(如圖)(注四)。
前面也有提到,這個跑出來的命令提示字元視窗不要直接關掉,這是因為實際上這邊所執行的腳本程式,是用來控制虛擬發射器的連接狀態的,因為如果直接關閉的話,就沒有辦法把虛擬的發射器給移除了!而如果確定不使用丶想要拔除這個虛擬發射器的時候,請到這個對話視窗里丶按一下 Enter 鍵,如此就可以把虛擬發射器移除丶並且關閉視窗了。而如果要再重新接上虛擬發射器的話,只要再執行「enablestereo.bat」一次就可以了~如果直接透過視窗右上角的「X」把視窗關閉的話,虛擬的發射器在重開機前,都會一直在電腦里無法移除,這點是要注意的。
4.
nVIDIA 驅動程式設定
到這邊為止,基本上是已經完成安裝了!這個時候,電腦上就等同已經接上 nVIDIA 3D VISION 的紅外線同步訊號發射器了!如果也有接上 3D Vision ready 的 120hz 顯示器的話,理論上應該甚至可以直接打開 3D Vision 來用(當然,因為沒有實際上的同步訊號發射器,所以是沒辦法用的)~
而在 nVIDIA 的顯示卡驅動程式裡面,最大的改變會在於,在沒有安裝虛擬發射器前,他的「設定立體 3D」的選項里,只會有「3D Vision Discover」這種使用紅藍立體的體驗方案(如下方左圖丶官方介紹);而在安裝了 3D Vision 的發射器丶或是這個虛擬的發射器後,它會多出「通用 CRT 顯示器」和「通用 3D DLP 高畫質電視(HDTV)」這兩個選項。
理論上如果有 nVIDIA 有支援的 HDMI 1.4 3D 電視(支援列表丶注五)的話,理論上這邊也是會有「3D TV Play」這個對應的選項出現的;不過由於 Heresy 這邊沒有這樣的顯示器,所以在這邊也就沒辦法做測試了。
而之後要使用的時候呢,只要再執行「enablestereo.bat」,就可以模擬把 USB 發射器接上電腦的動作,然後開啟 3D 功能了~如果希望一開機就馬上可以用,也可以考慮把他加到啟動里,讓他一開機就自動被執行。
整個方法就先介紹到這吧~不過 Heresy 這邊並沒有真的測試過接上 HDMI 1.4 的 3D 電視用過,只能說基本上應該是可以用的,其他就請有需求的人自己試試看了~另外,實際上由於這個方法使採用硬體模擬的方法,並沒有去修改系統丶或是任何驅動程式的檔案,所以理論上,應該之後也都是可以用的~
附註
1.nVIDIA 目前除了一般娛樂市場的 3D Vision 外,也還有推出為了專業領域丶更高階(也更貴的)的 3D Vision Pro(官網);主要的差異在於改采雙向溝通的 RF 訊號來取代本來的紅外線同步訊號,以達到更好的效果。不過這項產品,對於一般人來說,比較接觸不到就是了。
2.Heresy 有試過直接以管理員身分執行「init_x64.bat」這個批次檔,但是似乎沒有辦法正確安裝。
3.如果要移除,執行「"%PROGRAMFILES%\dsf\softehci\softehcicfg.exe" /remove」應該就可以了。
4.目前 nVIDIA 最新版的 GeForce 驅動程式版本是 270.61(32bit丶64bit),裡面已經包含了 3D Vision 的驅動程式,理論上可以正確地安裝在虛擬發射器上;如果不行的話,或許也可以試試看舊版丶獨立的 3D Vision 驅動程式(最終版是 266.21)。
而如果這時候多出來的 USB 裝置不是叫這個名字的話(Heresy 這邊是出現「USB 輸入裝置」),則代表上一個步驟「安裝虛擬發射器」有問題,請再確認一次是否有安裝正確。
5.對於還沒有出現在官方支援清單里的電視,或許可以考慮試試看《FIX: NVIDIA 3DTV PLAY Samsung 3d Plasma or other unsupported model》這篇的方法,透過強制修改顯示器的驅動程式/EDID,來支援輸出。
6.這邊教學的連結就直接貼在 nVIDIA 自家的 3D Vision Blog 上(連結),所以應該不算違法吧?
要提醒大家, N卡這個3DTV Play功能, 主要是為玩立體游戲而設, 除了SSP可以直接使用作看3D電影外, 論壇的3D影音播放器軟體都仍未能支持, 而玩立體游戲只能設定在1280x720@60Hz的游戲設定, 原因是立體藍光訊號標准不支持1080@60Hz, 而立體游戲的設定也不支持低於60Hz的刷新率, 除非你能找到一個游戲可以設定成1920x1080@24Hz.
『叄』 200分求魔獸世界自動釣魚插件
我的是自動掉的,一宿掉一整包.
首先要把魚漂模型改了.我是用的煙花發射器.
然後用按鍵精靈寫個腳本.
因為環境(地點,時間)變化顏色就有變化,必須每次掉前抓下顏色,改下腳本.
『肆』 Unity3d粒子發射器怎樣才能隨著物體旋轉移動,同時有拖尾。
把粒子作為物體的子物體就可以,simulate Space 選擇 world
『伍』 Unity3d粒子發射器怎樣才能隨著物體旋轉移動,同時有拖尾
可以。有幾種方法。
最簡單是播放動作動畫的同時,用腳本控制它的移動旋轉。
也可以用動畫混合,相當於同時播放兩個動畫,將兩個動畫設置為不同層,然後進行混合播放。
還可以為它增加一個父物體,物體在播放動作動畫的同時,父物體做移動旋轉。
『陸』 如何正確的使用UNITY3D製作FPS游戲
第一部分:簡介
這個教程中,我們詳細了解下如何製作一個簡單的第一人稱射擊游戲(FPS)。其中將介紹一些基本的3D游戲編程的概念和一些關於怎樣如游戲程序員般思考的技巧。
前提
這個教程假定你已經熟悉軟體Unity基本操作,掌握了基本的腳本概念。
創建新工程
下載FPS_Tutorial.zip壓縮文件,解壓,在Unity中打開工程文件。
從Unity安裝目錄導入Standard Assets資源包。
導入工程後,你會在Unity工程面板中的「Standard Assets」文件夾下看見這些資源內容。當我們導入新資源時,最好安裝按照資源功能對其分組,例如:火箭、爆炸、音頻等。
設置游戲環境
導入資源後,你會注意到在工程面板中有許多文件夾。
工程面板中,從文件夾「Object/mainLevelMesh」中選擇「mainLevelMesh」。
在參數面板,FBXImporter選項中,你會發現「Generate Colliders」選項,勾選此選項。如果不做這一步,游戲中玩家會穿越地面直接掉下深淵(實際是開啟「碰撞」,產生交互)
把「mainLevelMesh」拖放到場景中。
場景中不需要添加燈光,這關全部場景已經全部應用了燈光貼圖。整個場景對所有燈光進行了燈光貼圖渲染,使用了「預烘焙陰影」。燈光貼圖對顯示效果有很大幫助,特別是復雜燈光環境。
下面可以在場景中添加一個角色了。
添加主要角色
下面在場景中增加一個可以操控的角色物體。Unity針對第一人稱射擊游戲預置了許多內置的控制器,在工程面板Standard Assets->;Prefabs下。
添加第一人稱控制器,點擊工程面板Standard Assets旁邊的小三角,彈出資源列表。找到Prefabs文件夾,點擊小三角形,彈出資源列表。把「First person controller」拖到場景里。
這時場景中會出現一個代表玩家的圓柱體,三個大箭頭代表物體在3D空間中的位置(如果沒有看見箭頭,選擇物體,按「W」鍵),白色面代表物體當前視角。現在FPS控制器處於默認視角位置,通過移動它可以改變游戲視野。把角色移動到游戲環境關卡地面上面的位置。
Main Camera現在已經沒有用處了,可以刪掉了。
點擊「Play」鍵,現在應該可以通過使用滑鼠和鍵盤在本關卡地形中四處移動了(游標或者「W,A,S,D」)
現在我們創建了一個非常簡單的FSP,下面我們給角色添加武器。
增加武器
下面我們將給游戲角色一個類似榴彈的物體,可以在游戲中發射。要實現這個功能,需要創建一些腳本語言來在Unity中告知這個武器如何動作。
那麼我們具體要實現什麼呢?我們要使游戲角色能在攝像機的任意位置開火。但是,我們還是首先來思考一下游戲角色和武器。游戲角色游戲中是第一人稱的視角,所以攝像機的位置與眼睛平行。如果玩家使用武器射擊,武器應該是在角色的手部位置開火而不是眼睛的位置。這樣我們就要增加一個「game object」(游戲物體)來代表榴彈發射器,同時把它放置在游戲角色手持武器時武器所處的位置。這樣就保證了開火的位置沒有問題。
創建武器發射器
首先,創建一個「game object」代表榴彈發射器。游戲物體是3D世界中的任一物體(角色、關卡、聲音),零件就是游戲物體的屬性。因此我們還需要對游戲物體添加零件:
從主菜單欄選擇GameObject>Great Empty,並在層級面板中(Hierarchy)命名為「Launcher」。注意,空物體在場景中是看不見的,只是用它來作放置飛彈發射器。
現在在場景中把視野推近到FPS控制器,便於我們放置武器發射器。
層級面板中選擇FPS控制器,確保滑鼠處於場景視圖中,按「F」鍵。使窗口以當前選擇的物體為中心。
層級面板中選擇發射器,主菜單欄選擇Game Object>Move to view。注意發射器如何移動到FPS控制器附近的。然後使用手柄,把發射器移動到大概角色手部的位置。
注意:可以通過設置這個物體的位置來設定游戲角色是左撇子還是右撇子,不需要寫代碼。
使Unity窗口模式是「2by3」模式(window>Layouts>2by3),點擊播放鍵(play)。確保層級面板中點選了發射器,四處移動角色,同時觀察場景窗口。你將發現發射器並沒有隨著角色一起運動(現在再次點擊播放鍵停止運行游戲)
下面來解決這個問題,層級面板中,把發射器拖放到FPS控制器下面的主攝像機上。彈出的對話框點擊「是」。再次運行游戲,觀察場景窗口,發射器已經和角色運動一致了。這樣我們就把發射器與攝像機關聯起來了。
創建飛彈
下面我們來創建在玩家點擊開火鍵時能夠發射出來的飛彈。
我們先用一個簡單物體-球體-代替飛彈。Unity主菜單欄點擊Assets>Creat>;Prefab創建一個預制(Prefab)物體,命名為「Missile」
創建一個球體(GameObject>Create Object>Sphere)
層級面板中,拖放球體到飛彈預制物體上(Missile),這時預制物體圖標會變化。你可以從層級面板中刪除球體。
技巧:游戲運行中產生的任何游戲物體都應該是預制物體(Prefab)。
編寫飛彈發射器腳本
FPS控制器是一個包含了幾個游戲物體和部件的預制物體。FPS控制器本身是一個只能沿Y軸旋轉的圓柱體,因此,如果我們直接把發射器腳本賦予FPS控制器的話,是實現不了上下開火的。所以我們把腳本賦予控制器中的能夠四周轉動的主攝像機。
下面我們來編寫第一個描述發射器行為的JavaScript代碼。
點擊Assets>Greate>JavaScript,創建一個空的JavaScript文檔。一個名為「NewBehaviourScript」資源將會出現在工程面板中,把它更名為「MissileLauncher」
技巧:通過Unity>;Preferences點擊External Script Editor,可以自定義外部腳本編輯器。
工程面板中創建一個「WeaponScripts」文件夾,放置我們所有的武器腳本。把MissileLauncher腳本和飛彈預制物體(Missile Prefab)拖到這個文件中。
我們來看看飛彈發射器的完整JavaScript腳本。
進一步思考一下,我們到底想實現什麼效果?我們要檢測玩家是否按了開火鍵,然後產生一枚飛彈,然後把它沿著玩家朝向的方向按照一定的速度發射出去。我們仔細的解剖一下腳本:
var projectile: Rigibody;
var speed=20;
function Update( )
{
這是腳本的開頭部分,定義了一些屬性,開啟了「Update」的功能
if(Input.GetButtonDown(「Fire1」))
首先我們要檢測玩家是否按了開火鍵,「開火1」映射的是滑鼠左鍵和當前配置的鍵盤上的按鍵(可以通過主菜單欄的Editor>;Project Settings>Input設定)
{
var instantiatedProjectile: Rigidbody=Instantiate(
projectile, transform.position,transform.rotation);
我們用變數來定義產生的物體。變數的類型是Rigibody(剛體),因為飛彈是具有物理屬性的。
Unity中產生新物體使用的函數是Instantiate,它有三個參數,分別是:產生的物體、產生物體的3D空間位置、物體的旋轉。它還有另一個語法結構,參照API手冊,這里我們只使用這種結構。
第一個參數,projectile,代表我們想創建的物體。那麼到底發射什麼物體?具體產生的物體是可以手動設定的。實現方法:把Projectile定義為函數的外部變數,這樣就可以在參數面板中顯示出來。發射的物體也可以通過代碼來創建,但如果你想使一個變數可調的話,還是用上面的方法。
第二個參數,transform.position,使產生的物體與發射器的空間位置一致。為什麼就是發射器呢?因為如果要使飛彈產生的位置沒有問題,腳本就要關聯給發射器。(transform讀取的transform數據就是被賦予腳本的游戲物體transform數據)
第三個參數transform.rotation,與第二個類似,只是它的值與發射器的旋轉值是一樣的。
代碼的下一部分使飛彈產生運動。為了實現運動,我們要賦予飛彈一個速度,但是在哪個方向上(X,Y,Z)產生速度呢?在場景中,點擊FPS控制器,出現運動箭頭(如果沒有出現,按「W」鍵),其中一個箭頭是紅色、一個是綠色、一個是藍色。紅色代表X軸,綠色代表Y軸,藍色代表Z軸。因為藍色指向的方向,與玩家面朝的方向一致,所以我們要在Z軸上給飛彈一個速度。
(Velocity)速度是instantiatedProjectile的一個屬性。我們怎麼知道的呢?因為instantiatedProjectile是剛體的一種,如果我們看看API手冊,我們就會知道速度是剛體的屬性中的一種。同時也看看剛體的其它屬性。要設置速度,我們就必須在各個軸向上設定數值。但還有個小問題。3D空間中的物體一般使用兩種坐標模型:本地坐標系和世界坐標系。在本地坐標系中,物體的軸向只與物體本身有關。在世界坐標系中,軸向是絕對的,例如:向上,對所有物體來講向上的方向都是一樣的。
Rigidbody.Vellocity剛體物體速度必須使用世界坐標系。因此,定義速度時,需要把本地坐標系中的Z軸(朝前的方向)向轉換成世界坐標系中的相應方向。可以用函數transform.TransformDirection,它有三個向量作為自變數。變數speed也應該定義成外部變數,便於後面在編輯器中直接調節數值。
最後,我們要關閉飛彈與游戲角色之間的碰撞。如果不這樣做的話,飛彈產生的時候就可能與角色發生碰撞。可以在API手冊IgnoreCollision下查詢詳細信息。
MissileLauncher.js全部完整代碼如下:
把腳本MissileLauncher賦予FPS控制器中的發射器。在層級面板中點擊發射器,檢查一下參數面板下面是否顯示了MissileLauncher script。
先前創建的飛彈的預制物體還沒有與腳本中的變數projectile創建關聯,我們需要在編輯器中創建一下。變數projectile只能與剛體關聯,因此,首先我們要賦予飛彈一個Rigidbody。
工程面板中點擊飛彈,然後從主菜單欄選擇Components>;Physics>Rigidbody。這樣將會給我們想開火發射的飛彈一個剛體屬性。我們必須確保想在游戲中發射的物體類型與腳本中外部變數要求的物體類型是同一類型的物體。
創建飛彈與腳本中變數projectile的鏈接。首先在層級面板中點擊發射器,然後把飛彈的預制物體從工程面板中拖拽放置在發射器參數面板中MissileLauncher script部分上。
運行游戲的話,你會發現點擊開火鍵可以發出一個受重力影響的小球了。
飛彈爆炸
下面,當飛彈與其他物體發生碰撞時,增加一個爆炸效果。要實現這個效果,我們要編寫一段新腳本賦予飛彈。
創建一個新腳本,命名為Projectile。拖放到工程面板的WeaponScripts文件夾下。
那麼我們想要腳本Projectile實現什麼樣的效果呢?我們要檢測飛彈是否發生碰撞,然後在碰撞點產生一個爆炸效果。代碼如下:
函數OnCollisionEnter內的程序代碼的作用是計算被賦予腳本的物體是否與其他物體發生碰撞。
在函數OnCollisionEnter中我們主要是要實現在3D空間中飛彈發生碰撞的點產生一個新爆炸。那麼在何處了碰撞的呢?函數OnCollisionEnter就有個記錄這個信息的功能。碰撞發生的點的信息儲存在變數ContactPoint中。
這里我們使用函數Instantiate來創建一個爆炸。我們已經知道函數instatiate有三個參數:(1)產生的物體(2)物體的3D空間位置
(3)物體的旋轉。
第一個參數,後面我們將會賦給一個帶粒子系統的游戲物體。同時我們還想通過編輯器來實現這個功能,所以我們把變數設置為外部變數。
第二個參數,爆炸產生的點的位置,就是碰撞發生的位置。
第三個參數,爆炸旋轉的設置,需要解釋一下。我們需要爆炸體的Y軸方向與飛彈和其他物體發生碰撞的那個表面的法線方向一致。這就是說如果是牆面那麼爆炸就面向外,如果是地板就朝上。那麼實際上我們就是要使爆炸體在本地坐標系的Y軸與飛彈與之碰撞的物體的表面法線方向(世界坐標系)一致。
最後,我們要讓飛彈碰撞後就從游戲中消失,通過函數Destroy()實現,它的參數是gameObject(gameObject代表被賦予這個腳本的物體)。
Projectile.js全部代碼如下:
把腳本賦予飛彈預制物體(Missile prefab)。
下面我們要創建飛彈發生碰撞時所產生爆炸的爆炸效果物體。
首先,創建一個新的預制物體(命名為Explosion)用來存放爆炸效果資源。
標准資源包中(standard asset)有個不錯的爆炸預制物體,粒子系統和燈光都設置好了。把這個爆炸預制物體(在Standard Assets/Particles/explosion中)拖放到層級面板。
調節這個爆炸效果的各個參數直到你覺得滿意,然後把它從層級面板中拖放到工程面板中的爆炸預制物體(Explosion Prefab)中。
現在把爆炸配置給飛彈:
點選飛彈預制物體(Missile Prefab),在參數面板Explosion變數欄,拖放工程面板中的爆炸到上面。
定義爆炸的行為
下面我們要再創建一個腳本來定義爆炸自身的特性。
創建一個新的腳本-Explosion,放在Weapons文件夾中,雙擊腳本進行編輯。
腳本中另一個常用函數稱為Start()。當它配置給的物體是在游戲中產生的時候,函數Start()中的代碼只被執行一次。我們要實現的效果就是在一定時間後,在游戲中刪除爆炸。我們通過函數Destroy()的第二個參數實現,它的作用是定義執行刪除前的時間長度。
變數explosionTime設置成外部變數,方便調節。
新建腳本插入以上代碼時,要刪除函數Update()。
把腳本Explosion賦予給爆炸預制物體。
音效
目前的游戲世界太安靜了,讓我們給爆炸效果增加點音效。
首先,給爆炸預制(Prefab)添加一段音頻。
給爆炸添加音效前,我們首先要添加一個音源部件(Audio Source),在主菜單點擊Component—Audio—Audio Source。你會發現音源部件有一個Audio Clip的屬性。
把「RocketLauncherImpact」音效添加給爆炸預制體的AudioClip外部變數。Unity支持多種音頻格式。
運行游戲,發射飛彈的時候就有聲音了!
添加圖形界面
下面我們來添加GUI,有點像頭部顯示設備(HUD)。我們要做的GUI非常簡單,就一個準星。
添加一個準星:
工程欄中創建一個GUI的文件夾。
創建一個新腳本,命名為「準星」(Crosshair),拖到GUI文件夾。
Crosshair中寫入下面的腳本:
首先我們設定了兩個變數。第一個變數是定義我們將要用可選的方式來選擇圖形紋理。第二個變數定義了一個方形區間,它是圖形紋理在屏幕上的位置范圍。
在start( ) 中函數用來設定圖形紋理在屏幕上的位置。函數中,有四個參數,用來定義方形區域的大小和位置。第一個參數定義了方形區域的左邊框,第二個是底邊框,第三和第四個參數定義了寬和高。
OnGUI( )函數中,使用GUI類程序來讓圖形顯示在屏幕上。DrawTexture( )函數的參數position和crosshairTexture將使準星顯示在屏幕的中央位置。
保存腳本。
創建一個新的空物體,命名為「GUI」。
把腳本「Crosshair」賦予給GUI物體。
點選GUI物體,把在文件夾Texturelaim下的欲使用的圖形拖放到參數面板變數Crosshair Texture中。
運行游戲,屏幕中就會有準星顯示了。
物理特效:
現在,我們想要游戲中的物體效果越真實越好,這是通過添加物理特效實現的。在這一節中,我們將在環境中添加一些物體,他們能被飛彈擊中後有相應的反應。首先有幾個新概念要解釋下。
校正(Update)
先前,我們在函數Update()中寫入代碼,這樣可以在每一幀都執行其中的代碼。其中有個例子是檢測玩家點擊開火鍵。幀速並不是一個固定值,它是根據場景復雜度等因素來定的。各幀之間的時間差會導致不穩定的物體反應。因此,如果想在場景中添加有物理反應的物體(剛體等),代碼就應該寫在函數FixedUpdate()中。Unity中deltaTime的值用來測定渲染兩個連續幀的所用時間。
一般而言,函數Update與FixedUpdate之間的區別如下:
Update()-其中的代碼通常用於角色行為、游戲邏輯等。這個函數中的deltaTime值並不是固定的。
FixedUpdate()-其中的代碼通常用於剛體物體(物理屬性的行為)。函數中deltaTime的值通常是固定的。
FixedUpdate函數被調用的頻率是主菜單中Edit-Project Settings-Time的FixedTimestep屬性確定的,當然也是可以更改的。第二個屬性Time Scale是讀取每秒的幀速和相應的倒數值。
技巧:定義FixedTimestep值時,要注意把握好一個平衡:值越小,物理效果越真實越好,但影響游戲運行速度。應該同時確保游戲運行速度和物理效果的真實性。
最後說一下yield,它相當於暫停當前正在執行的函數。
回到游戲,我們想實現的效果:
使玩家可以發射飛彈(已經實現了)。
如果飛彈與其它剛體物體發生碰撞,檢測其范圍類是否有其它被賦予剛體屬性的物體。
對爆炸沖擊力范圍內的每個剛體物體,均給予一個upwards方向上的力,使它們對飛彈產生反應。
讓我們看看修改後的爆炸腳本(Explosion Javascript)
首先檢測下飛彈落點周圍是否有帶碰撞器的物體。函數Physics.OverlapSphere()有兩個參數:3D位置和半徑值,然後返回一組檢測到的在半徑內的碰撞器的數組。
一旦得到這些數組後,就會對每個對應碰撞器的剛體物體一個在特定方向上的力。
然後我們在飛彈的炸點處,向上的方向增加一個力(ExplosionPower)。但是,爆炸效果是隨著距離而遞減的,作用力大小不能在整個半徑內都一樣。圓周位置的剛體物體受到的作用力應該比炸點中心處小。函數把這種效果也考慮在內的。通過調節外部變數explosionPower和explosionRadius的值,可以較容易的得到想要的效果。
『柒』 怎麼把一個fps游戲的貼圖Z軸數據弄亂或禁止掉他的渲染
第一部分:簡介
這個教程中,我們詳細了解下如何製作一個簡單的第一人稱射擊游戲(FPS)。其中將介紹一些基本的3D游戲編程的概念和一些關於怎樣如游戲程序員般思考的技巧。
前提
這個教程假定你已經熟悉Unity基本操作,掌握了基本的腳本概念。
創建新工程
FPS_Tutorial.zip壓縮文件,解壓,在Unity中打開工程文件。
從Unity安裝目錄導入Standard Assets資源包。
導入工程後,你會在Unity工程面板中的「Standard Assets」文件夾下看見這些資源內容。當我們導入新資源時,最好安裝按照資源功能對其分組,例如:火箭、爆炸、音頻等。
設置游戲環境
導入資源後,你會注意到在工程面板中有許多文件夾。
工程面板中,從文件夾「Object/mainLevelMesh」中選擇「mainLevelMesh」。
在參數面板,FBXImporter選項中,你會發現「Generate Colliders」選項,勾選此選項。如果不做這一步,游戲中玩家會穿越地面直接掉下深淵(實際是開啟「碰撞」,產生交互)
把「mainLevelMesh」拖放到場景中。
場景中不需要添加燈光,這關全部場景已經全部應用了燈光貼圖。整個場景對所有燈光進行了燈光貼圖渲染,使用了「預烘焙陰影」。燈光貼圖對顯示效果有很大幫助,特別是復雜燈光環境。
下面可以在場景中添加一個角色了。
添加主要角色
下面在場景中增加一個可以操控的角色物體。Unity針對第一人稱射擊游戲預置了許多內置的控制器,在工程面板Standard Assets->;Prefabs下。
添加第一人稱控制器,點擊工程面板Standard Assets旁邊的小三角,彈出資源列表。找到Prefabs文件夾,點擊小三角形,彈出資源列表。把「First person controller」拖到場景里。
這時場景中會出現一個代表玩家的圓柱體,三個大箭頭代表物體在3D空間中的位置(如果沒有看見箭頭,選擇物體,按「W」鍵),白色面代表物體當前視角。現在FPS控制器處於默認視角位置,通過移動它可以改變游戲視野。把角色移動到游戲環境關卡地面上面的位置。
Main Camera現在已經沒有用處了,可以刪掉了。
點擊「Play」鍵,現在應該可以通過使用滑鼠和鍵盤在本關卡地形中四處移動了(游標或者「W,A,S,D」)
現在我們創建了一個非常簡單的FSP,下面我們給角色添加武器。
增加武器
下面我們將給游戲角色一個類似榴彈的物體,可以在游戲中發射。要實現這個功能,需要創建一些腳本語言來在Unity中告知這個武器如何動作。
那麼我們具體要實現什麼呢?我們要使游戲角色能在攝像機的任意位置開火。但是,我們還是首先來思考一下游戲角色和武器。游戲角色游戲中是第一人稱的視角,所以攝像機的位置與眼睛平行。如果玩家使用武器射擊,武器應該是在角色的手部位置開火而不是眼睛的位置。這樣我們就要增加一個「game object」(游戲物體)來代表榴彈發射器,同時把它放置在游戲角色手持武器時武器所處的位置。這樣就保證了開火的位置沒有問題。
創建武器發射器
首先,創建一個「game object」代表榴彈發射器。游戲物體是3D世界中的任一物體(角色、關卡、聲音),零件就是游戲物體的屬性。因此我們還需要對游戲物體添加零件:
從主菜單欄選擇GameObject>Great Empty,並在層級面板中(Hierarchy)命名為「Launcher」。注意,空物體在場景中是看不見的,只是用它來作放置飛彈發射器。
現在在場景中把視野推近到FPS控制器,便於我們放置武器發射器。
層級面板中選擇FPS控制器,確保滑鼠處於場景視圖中,按「F」鍵。使窗口以當前選擇的物體為中心。
層級面板中選擇發射器,主菜單欄選擇Game Object>Move to view。注意發射器如何移動到FPS控制器附近的。然後使用手柄,把發射器移動到大概角色手部的位置。
注意:可以通過設置這個物體的位置來設定游戲角色是左撇子還是右撇子,不需要寫代碼。
使Unity窗口模式是「2by3」模式(window>Layouts>2by3),點擊播放鍵(play)。確保層級面板中點選了發射器,四處移動角色,同時觀察場景窗口。你將發現發射器並沒有隨著角色一起運動(現在再次點擊播放鍵停止運行游戲)
下面來解決這個問題,層級面板中,把發射器拖放到FPS控制器下面的主攝像機上。彈出的對話框點擊「是」。再次運行游戲,觀察場景窗口,發射器已經和角色運動一致了。這樣我們就把發射器與攝像機關聯起來了。
創建飛彈
下面我們來創建在玩家點擊開火鍵時能夠發射出來的飛彈。
我們先用一個簡單物體-球體-代替飛彈。Unity主菜單欄點擊Assets>Creat>;Prefab創建一個預制(Prefab)物體,命名為「Missile」
創建一個球體(GameObject>Create Object>Sphere)
層級面板中,拖放球體到飛彈預制物體上(Missile),這時預制物體圖標會變化。你可以從層級面板中刪除球體。
技巧:游戲運行中產生的任何游戲物體都應該是預制物體(Prefab)。
編寫飛彈發射器腳本
FPS控制器是一個包含了幾個游戲物體和部件的預制物體。FPS控制器本身是一個只能沿Y軸旋轉的圓柱體,因此,如果我們直接把發射器腳本賦予FPS控制器的話,是實現不了上下開火的。所以我們把腳本賦予控制器中的能夠四周轉動的主攝像機。
下面我們來編寫第一個描述發射器行為的JavaScript代碼。
點擊Assets>Greate>JavaScript,創建一個空的JavaScript文檔。一個名為「NewBehaviourScript」資源將會出現在工程面板中,把它更名為「MissileLauncher」
技巧:通過Unity>;Preferences點擊External Script Editor,可以自定義外部腳本編輯器。
工程面板中創建一個「WeaponScripts」文件夾,放置我們所有的武器腳本。把MissileLauncher腳本和飛彈預制物體(Missile Prefab)拖到這個文件中。
我們來看看飛彈發射器的完整JavaScript腳本。
進一步思考一下,我們到底想實現什麼效果?我們要檢測玩家是否按了開火鍵,然後產生一枚飛彈,然後把它沿著玩家朝向的方向按照一定的速度發射出去。我們仔細的解剖一下腳本:
var projectile: Rigibody;
var speed=20;
function Update( )
{
這是腳本的開頭部分,定義了一些屬性,開啟了「Update」的功能
if(Input.GetButtonDown(「Fire1」))
首先我們要檢測玩家是否按了開火鍵,「開火1」映射的是滑鼠左鍵和當前配置的鍵盤上的按鍵(可以通過主菜單欄的Editor>;Project Settings>Input設定)
{
var instantiatedProjectile: Rigidbody=Instantiate(
projectile, transform.position,transform.rotation);
我們用變數來定義產生的物體。變數的類型是Rigibody(剛體),因為飛彈是具有物理屬性的。
Unity中產生新物體使用的函數是Instantiate,它有三個參數,分別是:產生的物體、產生物體的3D空間位置、物體的旋轉。它還有另一個語法結構,參照API手冊,這里我們只使用這種結構。
第一個參數,projectile,代表我們想創建的物體。那麼到底發射什麼物體?具體產生的物體是可以手動設定的。實現方法:把Projectile定義為函數的外部變數,這樣就可以在參數面板中顯示出來。發射的物體也可以通過代碼來創建,但如果你想使一個變數可調的話,還是用上面的方法。
第二個參數,transform.position,使產生的物體與發射器的空間位置一致。為什麼就是發射器呢?因為如果要使飛彈產生的位置沒有問題,腳本就要關聯給發射器。(transform讀取的transform數據就是被賦予腳本的游戲物體transform數據)
第三個參數transform.rotation,與第二個類似,只是它的值與發射器的旋轉值是一樣的。
代碼的下一部分使飛彈產生運動。為了實現運動,我們要賦予飛彈一個速度,但是在哪個方向上(X,Y,Z)產生速度呢?在場景中,點擊FPS控制器,出現運動箭頭(如果沒有出現,按「W」鍵),其中一個箭頭是紅色、一個是綠色、一個是藍色。紅色代表X軸,綠色代表Y軸,藍色代表Z軸。因為藍色指向的方向,與玩家面朝的方向一致,所以我們要在Z軸上給飛彈一個速度。
(Velocity)速度是instantiatedProjectile的一個屬性。我們怎麼知道的呢?因為instantiatedProjectile是剛體的一種,如果我們看看API手冊,我們就會知道速度是剛體的屬性中的一種。同時也看看剛體的其它屬性。要設置速度,我們就必須在各個軸向上設定數值。但還有個小問題。3D空間中的物體一般使用兩種坐標模型:本地坐標系和世界坐標系。在本地坐標系中,物體的軸向只與物體本身有關。在世界坐標系中,軸向是絕對的,例如:向上,對所有物體來講向上的方向都是一樣的。
Rigidbody.Vellocity剛體物體速度必須使用世界坐標系。因此,定義速度時,需要把本地坐標系中的Z軸(朝前的方向)向轉換成世界坐標系中的相應方向。可以用函數transform.TransformDirection,它有三個向量作為自變數。變數speed也應該定義成外部變數,便於後面在編輯器中直接調節數值。
最後,我們要關閉飛彈與游戲角色之間的碰撞。如果不這樣做的話,飛彈產生的時候就可能與角色發生碰撞。可以在API手冊IgnoreCollision下查詢詳細信息。
MissileLauncher.js全部完整代碼如下:
把腳本MissileLauncher賦予FPS控制器中的發射器。在層級面板中點擊發射器,檢查一下參數面板下面是否顯示了MissileLauncher script。
先前創建的飛彈的預制物體還沒有與腳本中的變數projectile創建關聯,我們需要在編輯器中創建一下。變數projectile只能與剛體關聯,因此,首先我們要賦予飛彈一個Rigidbody。
工程面板中點擊飛彈,然後從主菜單欄選擇Components>;Physics>Rigidbody。這樣將會給我們想開火發射的飛彈一個剛體屬性。我們必須確保想在游戲中發射的物體類型與腳本中外部變數要求的物體類型是同一類型的物體。
創建飛彈與腳本中變數projectile的鏈接。首先在層級面板中點擊發射器,然後把飛彈的預制物體從工程面板中拖拽放置在發射器參數面板中MissileLauncher script部分上。
運行游戲的話,你會發現點擊開火鍵可以發出一個受重力影響的小球了。
飛彈爆炸
下面,當飛彈與其他物體發生碰撞時,增加一個爆炸效果。要實現這個效果,我們要編寫一段新腳本賦予飛彈。
創建一個新腳本,命名為Projectile。拖放到工程面板的WeaponScripts文件夾下。
那麼我們想要腳本Projectile實現什麼樣的效果呢?我們要檢測飛彈是否發生碰撞,然後在碰撞點產生一個爆炸效果。代碼如下:
函數OnCollisionEnter內的程序代碼的作用是計算被賦予腳本的物體是否與其他物體發生碰撞。
在函數OnCollisionEnter中我們主要是要實現在3D空間中飛彈發生碰撞的點產生一個新爆炸。那麼在何處了碰撞的呢?函數OnCollisionEnter就有個記錄這個信息的功能。碰撞發生的點的信息儲存在變數ContactPoint中。
這里我們使用函數Instantiate來創建一個爆炸。我們已經知道函數instatiate有三個參數:(1)產生的物體(2)物體的3D空間位置
(3)物體的旋轉。
第一個參數,後面我們將會賦給一個帶粒子系統的游戲物體。同時我們還想通過編輯器來實現這個功能,所以我們把變數設置為外部變數。
第二個參數,爆炸產生的點的位置,就是碰撞發生的位置。
第三個參數,爆炸旋轉的設置,需要解釋一下。我們需要爆炸體的Y軸方向與飛彈和其他物體發生碰撞的那個表面的法線方向一致。這就是說如果是牆面那麼爆炸就面向外,如果是地板就朝上。那麼實際上我們就是要使爆炸體在本地坐標系的Y軸與飛彈與之碰撞的物體的表面法線方向(世界坐標系)一致。
最後,我們要讓飛彈碰撞後就從游戲中消失,通過函數Destroy()實現,它的參數是gameObject(gameObject代表被賦予這個腳本的物體)。
Projectile.js全部代碼如下:
把腳本賦予飛彈預制物體(Missile prefab)。
下面我們要創建飛彈發生碰撞時所產生爆炸的爆炸效果物體。
首先,創建一個新的預制物體(命名為Explosion)用來存放爆炸效果資源。
標准資源包中(standard asset)有個不錯的爆炸預制物體,粒子系統和燈光都設置好了。把這個爆炸預制物體(在Standard Assets/Particles/explosion中)拖放到層級面板。
調節這個爆炸效果的各個參數直到你覺得滿意,然後把它從層級面板中拖放到工程面板中的爆炸預制物體(Explosion Prefab)中。
現在把爆炸配置給飛彈:
點選飛彈預制物體(Missile Prefab),在參數面板Explosion變數欄,拖放工程面板中的爆炸到上面。
定義爆炸的行為
下面我們要再創建一個腳本來定義爆炸自身的特性。
創建一個新的腳本-Explosion,放在Weapons文件夾中,雙擊腳本進行編輯。
腳本中另一個常用函數稱為Start()。當它配置給的物體是在游戲中產生的時候,函數Start()中的代碼只被執行一次。我們要實現的效果就是在一定時間後,在游戲中刪除爆炸。我們通過函數Destroy()的第二個參數實現,它的作用是定義執行刪除前的時間長度。
變數explosionTime設置成外部變數,方便調節。
新建腳本插入以上代碼時,要刪除函數Update()。
把腳本Explosion賦予給爆炸預制物體。
音效
目前的游戲世界太安靜了,讓我們給爆炸效果增加點音效。
首先,給爆炸預制(Prefab)添加一段音頻。
給爆炸添加音效前,我們首先要添加一個音源部件(Audio Source),在主菜單點擊Component—Audio—Audio Source。你會發現音源部件有一個Audio Clip的屬性。
把「RocketLauncherImpact」音效添加給爆炸預制體的AudioClip外部變數。Unity支持多種音頻格式。
運行游戲,發射飛彈的時候就有聲音了!
添加圖形界面
下面我們來添加GUI,有點像頭部顯示設備(HUD)。我們要做的GUI非常簡單,就一個準星。
添加一個準星:
工程欄中創建一個GUI的文件夾。
創建一個新腳本,命名為「準星」(Crosshair),拖到GUI文件夾。
Crosshair中寫入下面的腳本:
首先我們設定了兩個變數。第一個變數是定義我們將要用可選的方式來選擇圖形紋理。第二個變數定義了一個方形區間,它是圖形紋理在屏幕上的位置范圍。
在start( ) 中函數用來設定圖形紋理在屏幕上的位置。函數中,有四個參數,用來定義方形區域的大小和位置。第一個參數定義了方形區域的左邊框,第二個是底邊框,第三和第四個參數定義了寬和高。
OnGUI( )函數中,使用GUI類程序來讓圖形顯示在屏幕上。DrawTexture( )函數的參數position和crosshairTexture將使準星顯示在屏幕的中央位置。
保存腳本。
創建一個新的空物體,命名為「GUI」。
把腳本「Crosshair」賦予給GUI物體。
點選GUI物體,把在文件夾Texturelaim下的欲使用的圖形拖放到參數面板變數Crosshair Texture中。
運行游戲,屏幕中就會有準星顯示了。
物理特效:
現在,我們想要游戲中的物體效果越真實越好,這是通過添加物理特效實現的。在這一節中,我們將在環境中添加一些物體,他們能被飛彈擊中後有相應的反應。首先有幾個新概念要解釋下。
校正(Update)
先前,我們在函數Update()中寫入代碼,這樣可以在每一幀都執行其中的代碼。其中有個例子是檢測玩家點擊開火鍵。幀速並不是一個固定值,它是根據場景復雜度等因素來定的。各幀之間的時間差會導致不穩定的物體反應。因此,如果想在場景中添加有物理反應的物體(剛體等),代碼就應該寫在函數FixedUpdate()中。Unity中deltaTime的值用來測定渲染兩個連續幀的所用時間。
一般而言,函數Update與FixedUpdate之間的區別如下:
Update()-其中的代碼通常用於角色行為、游戲邏輯等。這個函數中的deltaTime值並不是固定的。
FixedUpdate()-其中的代碼通常用於剛體物體(物理屬性的行為)。函數中deltaTime的值通常是固定的。
FixedUpdate函數被調用的頻率是主菜單中Edit-Project Settings-Time的FixedTimestep屬性確定的,當然也是可以更改的。第二個屬性Time Scale是讀取每秒的幀速和相應的倒數值。
技巧:定義FixedTimestep值時,要注意把握好一個平衡:值越小,物理效果越真實越好,但影響游戲運行速度。應該同時確保游戲運行速度和物理效果的真實性。
最後說一下yield,它相當於暫停當前正在執行的函數。
回到游戲,我們想實現的效果:
使玩家可以發射飛彈(已經實現了)。
如果飛彈與其它剛體物體發生碰撞,檢測其范圍類是否有其它被賦予剛體屬性的物體。
對爆炸沖擊力范圍內的每個剛體物體,均給予一個upwards方向上的力,使它們對飛彈產生反應。
讓我們看看修改後的爆炸腳本(Explosion Javascript)
首先檢測下飛彈落點周圍是否有帶碰撞器的物體。函數Physics.OverlapSphere()有兩個參數:3D位置和半徑值,然後返回一組檢測到的在半徑內的碰撞器的數組。
一旦得到這些數組後,就會對每個對應碰撞器的剛體物體一個在特定方向上的力。
然後我們在飛彈的炸點處,向上的方向增加一個力(ExplosionPower)。但是,爆炸效果是隨著距離而遞減的,作用力大小不能在整個半徑內都一樣。圓周位置的剛體物體受到的作用力應該比炸點中心處小。函數把這種效果也考慮在內的。通過調節外部變數explosionPower和explosionRadius的值,可以較容易的得到想要的效果。
『捌』 如何開啟 NVIDIA 3D 驅動,支持DLP眼鏡,軟體USB模擬
1.安裝 Device Simulation Framework
執行「DSFx64Runtime.msi」(32 位元就是「DSFx86Runtime.msi」),以安裝 Device Simulation Framework。
2.安裝虛擬發射器
開啟一個管理者許可權的命令提示字元,然後以這個命令提示字元,來執行「init_x64.bat」這個批次檔(32 為塬則是「init.bat」)以進行安裝(注二)。不過要注意的一點是,由於這個步驟包含了要把「3d_x64.dll」登記到系統里的動作,在安裝之後,就不適合移動、或是刪除這些檔案了;所以建議在執行這個步驟前,先決定要把這些檔案放在哪裡會比較好(注叄)。
詳細步驟方法:
1.按左下角 Windows 鈕、在「搜尋程式及檔案」的地方輸入「cmd」,然後壓著鍵盤的 Ctrl、Shfit 後,按下 Enter,就可以教出一個以管理者許可權執行的命令提示字元了。
2.假設 init_x64.bat 這個檔案的位置是在「D:\[Driver]\3Dvision」的話,在命令提示字元視窗里,就要先輸入「D:」按 Enter、切換到磁碟機 D:\,然後再輸入「cd D:\[Driver]\3Dvision」按 Enter,進入到這個資料夾內。
3.接下來輸入「init_x64」後按 Enter,就可以進行安裝了~
3.接上虛擬發射器
接下來,執行「enablestereo.bat」(這步驟不用管理員身分,所以直接點兩下就可以了),他會去執行「enablestereo.wsf」這個腳本程式,來接上虛擬的 USB 發射器。 執行後會出現下面這樣的視窗;請注意,這個視窗請先不要按右上角的「X」關閉!
同時,在第一次執行的時候,裝置管理員也會開始搜尋硬體、並安裝驅動程式;如果一切正確的話,驅動程式應該都可以正確地找到、並安裝。 安裝完成後,在裝置管理員里的「通用序列匯流排控制器」下,應該要多出「NVIDIA Stereoscopic 3D USB controller」這個裝置(如右圖)(注四)。
前面也有提到,這個跑出來的命令提示字元視窗不要直接關掉,這是因為實際上這邊所執行的腳本程式,是用來控制虛擬發射器的連接狀態的,因為如果直接關閉的話,就沒有辦法把虛擬的發射器給移除了!而如果確定不使用、想要拔除這個虛擬發射器的時候,請到這個對話視窗里、按一下 Enter 鍵,如此就可以把虛擬發射器移除、並且關閉視窗了。而如果要再重新接上虛擬發射器的話,只要再執行「enablestereo.bat」一次就可以了~如果直接透過視窗右上角的「X」把視窗關閉的話,虛擬的發射器在重開機前,都會一直在電腦里無法移除,這點是要注意的。
4.nVIDIA 驅動程式設定
到這邊為止,基本上是已經完成安裝了!這個時候,電腦上就等同已經接上 nVIDIA 3D VISION 的紅外線同步訊號發射器了!如果也有接上 3D Vision ready 的 120hz 顯示器的話,理論上應該甚至可以直接打開 3D Vision 來用(當然,因為沒有實際上的同步訊號發射器,所以是沒辦法用的)~
而在 nVIDIA 的顯示卡驅動程式裡面,最大的改變會在於,在沒有安裝虛擬發射器前,他的「設定立體 3D」的選項里,只會有「3D Vision Discover」這種使用紅藍立體的體驗方案(如下方左圖、官方介紹);而在安裝了 3D Vision 的發射器、或是這個虛擬的發射器後,它會多出「通用 CRT 顯示器」和「通用 3D DLP 高畫質電視(HDTV)」這兩個選項。
理論上如果有 nVIDIA 有支援的 HDMI 1.4 3D 電視(支援列表、注五)的話,理論上這邊也是會有「3D TV Play」這個對應的選項出現的;不過由於 Heresy 這邊沒有這樣的顯示器,所以在這邊也就沒辦法做測試了。
『玖』 關於realflow的一個腳本設置問題
這個是泡沫粒子的一個腳本 需要設置粒子和碰撞參數 次級粒子不是創建出來的
『拾』 誰知道CS怎麼用火箭筒啊
Point
of
no
return俗稱CS火箭筒版
下載地址http://dl.pcgames.com.cn/html/3/8/dlid=7668&dltypeid=3&pn=0&.html
兼容CS的機器人
警的B91是盾
B92是榴彈發射器
匪的B91是火箭筒
不知是不是你說的