Unity3d--Space Shooter(官方教程)--學習感想(1)


第一篇博客,記錄一下最近正在學習的知識。

Unity3d剛剛開始學習,在官網找了一個項目教程,主要的目的還是為了對這款軟件還有常用的知識進行一個大概的了解。

個人認為在學習一款新軟件時,直接學習它的一個對應的小項目能夠令人更快的熟悉該軟件。廢話不多說了,下面來記錄一下Unity3d的基本使用方法以及在學習時遇到的一些問題。

Unity安裝以及破解方法:http://blog.csdn.net/shiyulf/article/details/55666819

Space Shooter官方教程:http://edu.manew.com/course/3

 

本文的主要篇幅是依據官方教程里的內容書寫。

首先當然是創建新項目了,這個就不多講了。接下來就采用分條的方式來介紹整個項目的實現。

 


 

1.1  導入資源包

在官方網站或是軟件狀態欄的Window->Asset Store里面下載所需資源包。關鍵字搜索Space Shooter,選擇Space Shooter tutorial下載,點擊import。

在導入資源包時,需注意將所有資源都勾選上。

 

1.2  保存當前場景

可通過Unity標題欄判斷當前場景是否保存。

保存之前  顯示為Untitled。

保存之后顯示為當前unity名稱,一般設置為Main.unity。

保存方法:選擇File->Save Scene,此時會跳轉出文件夾。在該文件夾Assets下創建新文件夾_Scenes用於保存當前場景,場景名設置為Main,點擊保存。我們會看到Project面板的Assets文件夾中已經出現了你所創建的文件夾以及場景。

 

1.3  設置發布平台

選擇File->Build Settings會彈出平台選擇面板。默認下是選擇的是

需在其他平台發布,選擇相應平台,然后下載相關文件安裝即可。

例如,本例中設置的是WebGL。設置完成后標題欄顯示為:

 

1.4  玩家設置

選擇Edit->Project Settings->Player可進行Player Setting。

此時,在Inspector面板中,上半部是全局設定。下半部是針對不同平台的設定。

而本項目中,我是直接在Game面板上設置畫布大小。選擇Game面板中的Free Aspect。里面有各種比例可供選擇,也可自己設置畫布大小保存。此項目需設置Width:600,Height:900。

 

1.5  主要對象(飛船)的設置

首先將Project面板中Models文件夾中的PlayShip模型拖拽到Hierarchy面板中,重命名其為Player。在Scene面板中,可觀察此模型。

1.5.1  位置、角度、大小:

點擊Transform右側的setting圖標,選擇reset使Player置於原點。

其中Position(x,y,z)表示模型在空間中位置坐標。Rotation(x,y,z)表示模型的空間角度。Scale(x,y,z)表示模型大小。

 

1.5.2  Meshs、Mesh Filter、Mesh Renderer

 

Meshs(網格): Meshes make up a large part of your 3D worlds. Aside from some Asset store plugins(插件), Unity does not include modelling tools. Unity does however have great interactivity(相互作用)with most 3D modelling packages. Unity supports triangulated(三角形的) or Quadrangulated(四邊形的) polygon(多邊形) meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons.

Mesh Filter(過濾器): The Mesh Filter takes a mesh from your assets(資源) and passes it to the Mesh Renderer for rendering on the screen.

Mesh Renderer(渲染器): The Mesh Renderer takes the geometry from the Mesh Filter and renders it at the position defined by the object’s Transform component(組件).

Mesh Filter獲取我們的模型,Mesh Renderer把它在場景中渲染。

 

1.5.3  Rigidbody(剛體)

Rigidbodies enable your GameObjects to act under the control of physics. The Rigidbody can receive forces(作用力) and torque(扭轉力) to make your objects move in a realistic way. Any GameObject must contain a Rigidbody to be influenced by gravity, act under added forces via scripting(腳本), or interact with other objects through the NVIDIA PhysX physics engine.

給物體施加物理作用力、碰撞效果需添加"Rigidbody"組件。

點擊Inspector面板最下面的Add Component按鈕。選擇Physics->Rigidbody。

Mass:物體重量 (默認為Kg).

Drag:空氣阻力

Angular Drag:旋轉空氣阻力。0表示當物體旋轉時,你無法使它停止旋轉。表示停止旋轉。

Use Gravity:物體是否受重力作用。勾選表示受重力作用。

Is Kinematic(是否遵循動力學):勾選表示物體運動狀態不受外力、碰撞和關節的影響。而只受到動畫和附加在物體上腳本的影響。但該物體仍能改變其他物體運動狀態。

 

1.5.4  碰撞檢測

首先需要得到物體所占據的體積才能計算是否發生碰撞。利用Collider(碰撞器)組件。

點擊Add Component。選擇Physics->Capsul Collider(膠囊形碰撞器)里面還有很多其他原始的Collider。最為復雜的是Mesh Collider,它更精確,但運行時更加占用資源。

選擇Mesh Collider時,默認狀態下"Mesh"選項與"Mesh Filter"組件使用相同模型。但是,也可拖拽其他模型(簡化之后的模型)到Mesh Collider的"Mesh"中去,此時相較於使用默認的模型,更加節省運行資源。

Is Trigger(觸發器):勾選,此碰撞用於觸發事件,並被物理引擎忽略。

 

1.5.5  給飛船添加噴火效果

噴火效果是與飛船聯系在一起的,因此需將它們綁定起來。

做法是將Perfabs->VFS->Engines下的engines_player拖拽到Hierarchy的Player中去。

 


 

第一篇就寫到這吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM