2014/12/02

Scratch & Unity3D 教學: 尋問Unity 3D相關問題者,務必看此篇!!!

Scratch & Unity3D 教學: 尋問Unity 3D相關問題者,務必看此篇!!!: 各位讀者大家好, 我是Shine, 由於我現在一個人兼多職, 所以在這邊留言的朋友我無法馬上回覆。 可能回覆是好幾個月以後了!!!! 如果有人要尋問問題且留言給我, 歡迎到FB-亮星遊戲工作室留言。 網址:https://www.facebook.com/Fore...

尋問Unity 3D相關問題者,務必看此篇!!!

各位讀者大家好,
我是Shine,
由於我現在一個人兼多職,
所以在這邊留言的朋友我無法馬上回覆。
可能回覆是好幾個月以後了!!!!

如果有人要尋問問題且留言給我,
歡迎到FB-亮星遊戲工作室留言。
網址:https://www.facebook.com/ForestKeeper.Shining

謝謝各位對Shine的愛戴,
明年有更進階的Unity 3D課程也會在粉絲頁PO上。

[Shine]

2014/09/23

23. [Unity 3D 中文教學] GOOGLE 雲端硬碟 = Unity Web 網域 2014/09/23更新版本

Google 前幾個月進行了改版,
所以亮亮在此更新 → GOOGLE 雲端硬碟 = Unity Web 網域 的方式。

1. 從Unity發佈網頁遊戲檔案,忘記的同學可參考此篇:
http://shineliublog.blogspot.tw/2014/07/20-unity-3d-google-unity-web.html

2. 上傳資料夾至Google雲端硬碟頁面,如圖。


 3. 選擇此資料夾 → 點選滑鼠右鍵 → Share(分享),如圖。

4. 點選 Get Shareable link(選擇共享連結),如圖。

5. Can View,如圖。

6. More,如圖。

7. Public on the web,如圖。

8. Copy 這串網址至空白文件,如圖。

9.由第8步驟Copy下來的網址,取紅色亂碼編號https://drive.google.com/folderview?id=0B0ngv5nUnqPgcFM4SElPODBYdjQ&usp=sharing

再更正網址:
http://googledrive.com/host/0B0ngv5nUnqPgcFM4SElPODBYdjQ

如果網頁名稱為中文,在此網頁上就會顯示????
目前使用Google 雲端硬碟檔網頁空間不支援中文。

2014/08/04

22. [Unity 3D 程式 - 中文教學] 影片應用至Unity for exe、android apk

大家知道Unity 也支援影片的部分嗎?
但影片要在Unity上發佈成exe或Android apk方法大不相同,
因此,此篇將為影片應用至Unity for exe、android apk做個簡單解說。

一、 影片應用至Unity for exe:
1. 支援影片格式:.mov.mpg.mpeg.mp4.avi.asf


2. 需先前安裝軟體:Quicktime。
Quicktime下載網址:http://www.apple.com/tw/quicktime/download/
如果未安裝Quicktime,就將影片放至Unity Project中,
會出現以下錯誤訊息:

3. 至YouTube選擇自己想要下載的影片:https://www.youtube.com/?feature=ytca

4. 透過Kej FLV Retriever下載Youtube影片: http://kej.tw/flvretriever/

貼上Youtube影片的網址→Retrieve now!
點選"下載此檔案"→用記事本打開下載的檔案,將所有內文Copy貼至下方空白處→送出!!!

5. 將影片放至Unity,如果出現此圖示即可。

6.使用OnGUI撥放影片方式:(此程式給MainCamera,且需加AudioSource!!!)
var movie:MovieTexture;
function Start () {
audio.clip = movie.audioClip;
}
function OnGUI () {
 GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), movie);
if(GUILayout.Button("Play")){
movie.Play();
audio.Play();
}

if(GUILayout.Button("pause")){
movie.Pause();
audio.Pause();
}

if(GUILayout.Button("stop")){
movie.Stop();
audio.Stop();
}
}

二、影片應用至Unity for android apk:
由官方資料了解:MovieTextures are not supported on Android.
所以如果今天各位要將影片做成Apk檔,其做法如下:
1. 建立StreamingAssets資料夾,將影片檔放置此資料夾中。
2. 影片支援格式: .mp4 和.3gp
3. 程式:
function Start () {
Handheld.PlayFullScreenMovie("Shine_logoAnimation.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
}

2014/07/15

21. [Unity 3D 介面 - 中文教學] Navigation 尋路追蹤系統教學 (2)

大家還記得Navigation 尋路追蹤系統教學 (1)嗎?
如果忘了,
就趕緊回去做個複習吧!!! 19. [Unity 3D 介面 - 中文教學] Navigation 尋路追蹤系統教學 (1)

如果今天建立了兩塊區域,
角色要從A至B區域,
在此有兩種做法:
1. 兩個區域中間再放上一塊平面(當做橋)。
2. 兩個區域中,建立起始點與終點。
作法2,如下圖:

首先,先用兩個Cube建立起始點與終點,
記得這兩個方塊必須放在Plane上喔!!!

接著,
在起始點或終點身上加上Off Mesh Link這屬性,
注意:
Off Mesh Link只要加在這兩個物件其中一個就可。
起始點與終點無需加Nav Mesh Agent屬性Navigation Static”不需打ν”。

把起始點與終點拖曳道Off Mesh Link紅色框框標註欄位中。
重新回到,Window→Navigation→Back(烘焙)即可。

小提醒:
Back 後我們可以發現Off Mesh Link屬於雙向箭頭
意味著角色可以透過此起始點與終點去返兩區域。

如果今天要作單向箭頭,如下圖:

則點選要做單向之物件,
接著回Window→Navigation→Object→將OffMeshLink Generation(單向)打勾。
Drop Height(落下高度):如果物件大小為(10,10,10),意味著Drop Height要大於10,才會產生單向箭頭。當Drop Height大於10,玩家才可以往下跳,則反之。

2014/07/02

20. [Unity 3D 中文教學] GOOGLE 雲端硬碟 = Unity Web 網域

Unity 發佈網頁檔,
相信各位同學都很熟悉,
忘記的同學,
沒關係我們就在下列複習一次。

首先,
亮亮開啟了一個New Project,
並且在新專案中放置一個方塊(Cube),如下圖。


2. 點選 File→ Build Settings,如下圖。

3. 選擇Web Player發布平台 → Switch Platform → 發佈 Build
注意:發佈前要先在桌面上增加一個新的資料夾,假設命名為Test0702。

4. 發佈完成圖。
會得到一個副檔名為html,另外一個為unity3d。

目前無法給別人網址,因為html檔放在桌面上的資料夾中,所以得到的只是此檔案的路徑。
例如:file:///C:/Users/sam/Desktop/Test%200702/Test%200702.html
所以,如果今天做的小遊戲要透過網域傳給其他朋友,
則可透過Google 雲端硬碟。
做法如下:

5. 登入各位的Google 雲端硬碟,並且把桌面上的Test0702資料夾上傳至Google 硬碟,如圖。

6. 選擇資料夾,按滑鼠右鍵 → 分享(Share) → Share,如圖。

7. 開啟資料夾權限,如圖。

8. 選擇將此檔案發佈在網頁上(Public on the web),如圖。

9. 進入資料夾 → 點選副檔名為html檔 → 滑鼠右鍵 → Open With → Google Drive Viewer,如圖。











10. 點選Preview,就可以進入網頁版的Unity Web Game ,
此網頁上的網址就可以分享給其他人囉!!!!



2014/03/28

19. [Unity 3D 介面 - 中文教學] Navigation 尋路追蹤系統教學 (1)

現在很多遊戲都給予玩家角色自動尋路功能,
比如說當玩家接收到指令要找尋某位NPC (Non-Player Character)時,
可立即在非手動情況下,
角色直接自動位移至NPC身旁。

Unity在這部分也提供了此功能,
就讓我們簡易的來試試看吧!!!!

1. 透過Cube和Sphere建造一個場景如下:
紅色Cube - Player,
藍色Sphere - NPC。

2.玩家(Player)給予Component(屬性)→Navigation(導航)→Nav Mesh Agent
注意:只有玩家角色需要給予Nav Mesh Agent屬性!!!!!其餘物件無需。



Nav Mesh Agent(導航參數):
• Radius(半徑):物體的半徑
• Speed(速度):物體行走最大速度
• Acceleration(加速度):物體行進的加速度
• Angular Speed(角速度):物體行進轉向時的角速度
• Stopping Distance:當物體接近目標物多少距離後停止
• Obstacle Avoidance Type(躲避障礙物類型):None=不躲避障礙物;等級越高,躲避效果越好,消耗電腦效能也越多。

3. 選取所有地板(Floor)與牆(Wall)。

4. 給予場景的物件Window→Navigation,
所有要算路徑的場景選取後,點選NavigationObject
Navigation Static”打ν”。

Bake導航烘培數:
• Radius():物體小,烘培的巡路大,也越靠物體邊緣。
• Height():烘培的巡路面與物體度。
• Max Slope(斜坡):大可斜坡度。
• Step Height():

5. 接著點選Navigation屬性面板→再點Back。
Radius:半徑
Height:高度
Step height:台階高度

6. 撰寫程式碼:(程式碼拖曳給隨意物件)
var player:NavMeshAgent; //帶有NavMeshAgent屬性的物=Player
var target:Transform; //NPC物件

function Update () {
player.destination=target.position; //玩家終點位置=NPC所在位置

}

記得再擺放上述程式碼的物件中,補上Player和NPC物件唷!!

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)"
12. [Unity 3D 介面 - 中文教學] Particle System 3.5版本以前的粒子系統 (上)
13. [Unity 3D 介面 - 中文教學] Particle System 新版-粒子系統 (蝙蝠"超音波"教學)
14. [Unity 3D 介面 - 中文教學] Trail Renderer 尾跡模擬

2014/02/17

18. [Unity 3D 介面 - 中文教學] Monitor監視器教學 (Render Texture - Pro Only)

如果大家做的專案類似射擊遊戲或模擬教育訓練場景,
有時就需要架設幾台Monitor監視器在場景中。

免費3D模型可至此網頁下載:http://tf3dm.com/


1. 下載各位喜歡的電視/電腦作為場景中的Monitor。

亮亮是下載,上述網頁中的LCD Television,如下圖。
2. 匯入至Unity Project。
3. Render Texture原理:將Camera照攝的影像呈現在物件上。
a. Project → Create → Render Texture
b. 將Project欄位中的Render Tecture拖曳至Main Camera/Other Camera 屬性欄位Target Texture位置。
c. 由於亮亮下載的模型屬於一體成形,Monitor面板無法至Unity拆模。因此亮亮在面板上增加了一塊平面。(如果下載的Model可單選面板,則可省略此步驟)

d. Project → Create → New Material。
e. Render Texture 拖曳至Material裡的Texture欄位。
f. Material拖曳給Monitor面板。
可觀察到目前Camera Preview與Monitor面板畫面一致。


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)"
12. [Unity 3D 介面 - 中文教學] Particle System 3.5版本以前的粒子系統 (上)
13. [Unity 3D 介面 - 中文教學] Particle System 新版-粒子系統 (蝙蝠"超音波"教學)
14. [Unity 3D 介面 - 中文教學] Trail Renderer 尾跡模擬

2014/01/28

17. [Unity 3D 介面 - 中文教學] Particles粒子系統碰撞Collider物件教學

首先亮亮在Unity場景中準備了兩種物件:泡泡狀的粒子系統(Soap Bubbles)與方塊(Cube)
接下來,當泡泡碰撞到方塊時,要顯示有多少泡泡碰撞到方塊
粒子系統教學:12. [Unity 3D 介面 - 中文教學] Particle System 3.5版本以前的粒子系統 (上)

1. 給予粒子系統-世界粒子碰撞器(World Particle Collider)之屬性:Component (屬性) → Effects (特效) → Legacy Particle (傳統的粒子) →World Particle Collider (世界粒子碰撞器)。

2. World Particle Collider (世界粒子碰撞器):
Bounce Factor彈力係數:粒子系統受到碰撞時,會加速/減速。
Collision Energy碰撞能量:粒子系統碰撞時的能量(秒),當值小於0,粒子系統就會消失。
Collides With碰撞於...:這些階層下的物件會受粒子系統碰撞。
Send Collision Message 發送碰撞訊息:"啟用",才能接收到粒子系統碰撞的訊息。
Min Kill Velocity最小消失速度:碰撞速度<最小消失速度,粒子系統會自動被消滅。

3. function OnParticleCollision:

var hit_cube_number=0;
function OnParticleCollision (other : GameObject) {
if(other.gameObject.name=="Cube"){
hit_cube_number++;
print("I am hit Cube number:"+hit_cube_number);
}
}
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)"
12. [Unity 3D 介面 - 中文教學] Particle System 3.5版本以前的粒子系統 (上)
13. [Unity 3D 介面 - 中文教學] Particle System 新版-粒子系統 (蝙蝠"超音波"教學)
14. [Unity 3D 介面 - 中文教學] Trail Renderer 尾跡模擬