2013/12/26

12. [Unity 3D 介面 - 中文教學] Particle System 3.5版本以前的粒子系統 (上)

Unity 有兩種Particle System 形式,先與各位介紹舊版本3.5版本以前的Particle System。Project欄位 → 點選滑鼠右鍵 → Import Package → Particles。



  • Dust(沙暴)
  • Fire(火焰)
  • Legacy Particles(傳統的粒子)
  • Misc(雜項)
  • Smoke(煙霧)
  • Sparkles(閃耀)
  • Water(水)



1. 隨意將一個粒子系統拖曳到遊戲場景編輯欄位(Hierarchy)。點選粒子系統可以看到屬性欄位中有三大屬性:Ellipsoid Particle Emitter (隨圓粒子發射器)、Particle Animation (粒子動畫器)、Particle Renderer (材質球渲染器)

2. Ellipsoid Particle Emitter (隨圓粒子發射器):
Emit:啟動發射器,勾勾為勾選,則不會發射粒子系統。
Min/Max Size:生成粒子時,每個粒子的最小/最大尺寸,數字 越大粒子越大。
Min/Max Energy:粒子最小/最大生命週期,數字越大消失越慢(以秒為單位)。
Min/Max Emission:每秒生成粒子的最小/最大數量,數字越大生成密度越高。
World/Local/Rnd Velocity:以世界座標/局部/隨機發射速度。
Emitter Velocity Scale:發射器速度比例。
Tangent Velocity:切線速度。
Angular Velocity:角速度。
Rnd Angular Velocity:隨機角速度。
Rnd Rotation:隨機旋轉。粒子會以隨機方向生成。
Simulate in world space:在世界座標空間中更新粒子運動。
One Shot:單次發射。

Ellipsoid:隨圓發射範圍。
Min Emitter Range:最小發射器範圍。

注意:當粒子數量越多,會造成記憶體使用量越高。

3.Particle Animation (粒子動畫器):
Does Animate Color? 是否使用自訂的顏色。
Color Animation[0-4]:自訂粒子系統顏色(循環使用)。
World/Local Rotation Axis:粒子以世界/本地座標軸旋轉,可用來創建高階法術。
Size Grow:數字越大,粒子就會逐漸變大。
Rnd Force:力的方向(隨機/世界)。
Damping:動摩擦力,數字越大粒子運動越快。
Autodestruct:自動銷毀,此選項打勾,當粒子系統消失時,及所綁定的遊戲對象都將消失。

4. Particle Renderer (材質球渲染器):
Cast Shadows:是否投射陰影。
Receive Shadows:是否接受陰影。
Material:材質球。

5. 自行建立3.5版本以前的粒子系統:
GameObject → Create Empty(開啟空物件)
給予空物件粒子系統屬性,Component  Effects  Legacy Particle 
Ellipsoid Particle Emitter(隨圓粒子發射器),
Particle Animator(粒子動畫),
Particle Renderer(粒子渲染器)

10. [Unity 3D 介面 - 中文教學] Light 光源
11. [Unity 3D 介面 - 中文教學] Unity 4.2.1以上版本發佈Android問題!!!!"Unable to find suitable jdk installation Please make sure you have a suitable jdk installation.Android development requires at least JDK 6 (1.6)"
13. [Unity 3D 介面 - 中文教學] Particle System 新版-粒子系統 (蝙蝠"超音波"教學)
14. [Unity 3D 介面 - 中文教學] Trail Renderer 尾跡模擬
15. [Unity 3D 介面 - 中文教學] Interactive Cloth 布料模擬
16. [Unity 3D 介面 - 中文教學] Image Effect 影像效果

2013/12/19

10. [Unity 3D 介面 - 中文教學] Light 光源

修改光照模式:
Edit → Project Settings → Player → Other Settings
(Forward模式→Deferred模式,可提升光照的品質及效能)

GameObject → Create Other → (平行光) Directional light依造光源方向遊戲場景中的亮度接一致。
GameObject → Create Other → (點光源) Point light:物件在球體光源內,才會有亮度。
GameObject → Create Other → (聚光燈) Spotlight:物件在角錐光源內,才會有亮度。








Color (顏色):改變光的投射顏色。
Intensity (強度):光的強度,建議如果場景要打亮,可調整此參數。
Cookie (光遮蔽): 利用帶有alpha(透明成分)的圖片,來遮擋光源。
CookieSize(遮蔽範圍):遮擋光源圖片的大小(Directional light only)

ShadowType: 影子類型(Hard and Soft type) (Unity 3D Pro Only)。
Strength:影子強度。
Resolution: 影子解析度。


2013/12/11

11. [Unity 3D 介面 - 中文教學] Unity 4.2.1以上版本發佈Android問題!!!!"Unable to find suitable jdk installation Please make sure you have a suitable jdk installation.Android development requires at least JDK 6 (1.6)"

使用系統:
JAVA版本:jdk1.6.0_45
下載網址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

Android版本:adt-bundle-windows-x86_64-20130514,
下載網誌:https://developer.android.com/sdk/index.html
打開Android SDK進行安裝:切記勿安裝至API17 Android 4.2.2版本以上,目前Unity4.x以上還未支援。


Unity路徑設定:Edit → Preferences → External Tools → Android SDK Location →選擇各位放Android的路徑,亮亮下載完Android SDK後,解壓縮完成將資料夾放置C:路徑底下:C:\adt-bundle-windows-x86_64-20130514\sdk。

按File → Build Settings → 切換到Android → Player Setting → 更改Bundle Identifier :com.Shine(自設).test(自設)。

按File → Build Settings → Build,這時會出現錯誤!!!!!!!!!!!
"Unable to find suitable jdk installation Please make sure you have a suitable jdk installation.Android development requires at least JDK 6 (1.6)" 

解決方式:
1. 選擇"我的電腦" → 按右鍵"內容" → 進階系統設定 → 環境變數。
2. 環境變數 → 新增。
變數名稱:JAVA_HOME
變數值:C:\Program Files\Java\jdk1.6.0_45 (選擇JAVA路徑)

3. 找到 變數名稱:CLASSPATH,點選編輯,將下列變數值貼上。
變數值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;

4. 找到變數名稱:Path,點選編輯,將下列變數值貼在最前面,不要刪除原本設定的。
變數值:%JAVA_HOME%\bin;

5. 關掉Unity 重新啟動,就可再次按Build發佈。
0. [Unity 中文教學] 甚麼是 Unity3D?
1. [Unity 中文教學] 新手必看 - Unity3D 實用操作小撇步
10. [Unity 3D 介面 - 中文教學] Light 光源
12. [Unity 3D 介面 - 中文教學] Particle System 3.5版本以前的粒子系統 (上)
13. [Unity 3D 介面 - 中文教學] Particle System 新版-粒子系統 (蝙蝠"超音波"教學)
14. [Unity 3D 介面 - 中文教學] Trail Renderer 尾跡模擬
15. [Unity 3D 介面 - 中文教學] Interactive Cloth 布料模擬
16. [Unity 3D 介面 - 中文教學] Image Effect 影像效果

2013/12/09

9. [Unity 3D 介面 - 中文教學] Main Camera - 小視窗製作

Unity每次開啟一個新的場景都會有一台Main Camrea(主相機),參數細節如下:
1. Clear Flags (清除標記):
Skybox 天空盒(預設):遊戲畫面上無物件的部分將顯示當前相機的天空盒(Skybox)。

Solid Color 純色/單色:遊戲畫面上無物件的部分將顯示當前相機的Background顏色。

Depth Only 僅有深度

Don't Clear 不清除


2. Background:調整Camera看到的背景顏色
3. Culling Mask :顯示哪一個階層(Layer)的物件,預設為Everything(意旨能看到所有物件)。
4. Projection (投射):預設為Perspective(透視)能看到Z軸深度;Orthographic(正投影)無Z軸深度,製作2D遊戲時Camera採用Orthographic。
5. Field of view(視角範圍):調整Camera視野大小,值越大看的範圍越廣,反之。
6. Clipping Planes (剪裁平面):調整Camera可視距離。
7. Normalized View Port Rect:調整Camera在遊戲時,玩家所看到的大小及位置。X/Y 調整小視窗位置W/H 調整可視範圍,如果要Camera看到整個小島就需修改W/H
8. Depth階層:Camera成像的前後關係。
有多台相機時,可利用此參數設定相機在螢幕上呈現的順序(製作雙視窗或子視窗)。

小視窗製作方式:
1. 保留原本場景中的Main Camera以外,再新增一台Camera,GameObject → Creat Other → Camera(小視窗的相機)。
2. 主畫面的相機(Main Camera)的Depth階層 < Camera 的Depth階層。如果Main Camera的階層是1,那麼Camera 的Depth階層為2。
3. 改變小視窗Camera的Normalized View Port Rect之X/Y/W/H值即可。









有時候上課都會聽到前輩們在訴說他們自己的心路歷程,類似Unity3D的遊戲引擎還沒發展出來前,大家都是靠徒手寫程式完成自己的遊戲,往往那些程式的龐大量是我們這些後輩無法想像的,所以他們不時都會回頭看我說你們真幸福。

Unity 3D是套容易學習且方便的開發工具,
但前提是大家要真心跟他成為好朋友。

"好朋友"都要透過長時間相處相知相惜,本章就先讓各位認識大家的好朋友吧!



如果各位一直認為Unity 3D僅能做遊戲,那麼亮亮要請大家把此想法改觀!Unity 3D不僅能開發出遊戲,更跨足至動畫市場,這是Unity 3D官方推出的動畫影片。這影片當中所以有光影特效都是透過Unity 3D一手包辦。所以請大家拔除你們對Unity的偏見吧!!!

相對,對開發者而言,最想做的事情當然是開發一款遊戲後能直接發佈在不同平台上,例如:ios、Android、XBOX...etl.,在此亮亮也舉幾個大家耳熟能詳並使用Unity 3D開發遊戲的例子,包含:搗蛋豬 、 新仙劍奇俠傳Online 、軒轅劍陸 ...等等。


而Unity 3D 已經準備好幫各位實現夢想,
大家開始願意跟他當好朋友了嗎?!
記住好朋友是要長時間維持,不是曇花一現的承諾。



之後課程都會直接使用Unity 3D軟體,要跟他當好朋友,就要先從下載/安裝Unity 3D開始。快來下載安裝吧!Unity 3D 官方網站:http://unity3d.com/ 。



2013/12/06

8. [Unity 3D 介面 - 中文教學] 動態天空教學 - Unisky

現在有很多遊戲都不是使用靜態天空,而是使用動態天空模擬一整天(從太陽升起→落下→黑夜月亮出現),究竟我們該如何也一樣做出動態天空呢?
Unity Asset Store - unisky:
https://www.assetstore.unity3d.com/#/content/166 
就可幫各位解決這問題唷!!!

1. 匯入unisky.package 至Unity。下載點:

https://www.dropbox.com/s/nbou0kwucnf7w9t/unisky.unitypackage
2. Project 欄位中會多出現UniSky的資料夾,資料夾展開 → 會看到一個Prefab(預製物):UniSky。(下圖最後一個物件,此物件拖曳至Hierarchy欄位中。)

3. 調整攝影機(Main Camera)部分:
clear flags設定為"Solid Color"。
Background color設定為"黑色"。
Clipping Planes_Far設定為" 100000"。 


4. 將攝影機(Main Camera)拖曳至UniSky屬性,如圖

5. Clouds (雲):調整動態天空之雲量,如圖!!!
Precipitation Level 雲的解析度
Cloud Cover 雲量
Glow Variance 明亮程度
View Distance 視野距離



6. Sun (太陽):可調整日出至日落的時間。
如果要模擬系統時間,Use System Time請打勾,否則可直接調整模擬時間速度(Speed of Time),值越大,模擬時間越快;反之。

7. Moon (月亮):調整月亮出現的樣式與大小。


2013/12/02

7. [Unity 3D 介面 - 中文教學] 天空盒 - Skybox (靜態)

增加天空盒可以讓各位的場景更加豐富與美化,究竟該如何使用Unity 3D製作天空呢?讓我們繼續看下去。

1. 呼叫Unity 內部Skybox.Package,Project欄位按滑鼠右鍵 → Import Package → Skyboxes。
2. Edit Render Settings → Skybox Material (點選旁邊小圓圈,加入材質球),Unity內建Skybox樣式大功告成囉!!!!

對遊戲開發者來說不能一直使用內建的天空材質球,自己需要了解如何創造天空材質球部分。因此,點選Skybox的材質球,我們可看到此材質球的屬性為RenderFX → Skybox。
Skybox的box中文為盒子,盒子通常有六個面,所以Skybox就像盒子般包覆著我們的場景,開發者就要注意如何建立六張天空盒的圖片啦!!!
  • 線上天空盒(現成圖片):http://www.3delyvisions.com/skf1.htm
  • 製自天空盒工具(tginstall天空盒子)載點:https://www.dropbox.com/s/yc7057k35xnedlf/tginstall%E5%A4%A9%E7%A9%BA%E7%9B%92%E5%AD%90.msi
3. Unity Project 建立一顆材質球(Material) → 材質球Shader 更改為:RenderFX → Skybox。

4. 放上圖片,並回至Edit → Render Settings → Skybox Material放入自己製作的天空材質球。

5. 大家這時候會發現天空有白色的接縫,這時請全選所有天空圖片(六張) → 圖片屬性模式裡Wrap Mode (變換模式):Repeat(鋪重複)更改為Clamp(單一適應)。