Unity 3d遊戲開發難嗎?
怎麼學好?
入門到精通,跟著siki學院視頻做就可以了!
Unity 一個讓玩家輕鬆創建:諸如農藥、吃雞熱門遊戲的綜合型遊戲開發工具。Unity 3d引擎封裝了大部分的功能,讓開發者能用比較直觀的方式開發遊戲,甚至提供了PlayerMaker這種免程序的開發方式,意味著部分開發者可以脫離程序,可視化地編輯自己的遊戲。在編程方面,支持C#和Java兩種語言。而C#開發佔主要地位。推薦學習C#面向對象語言,而且入門簡單。
我們通過一個經典小案例坦克大戰2D遊戲讓讀者了解下遊戲開發全過程。
Untiy 3D版本:2017版本以上
學習非常簡單,不會的話,參考SiKi學院的視頻。
還需要掌握計算機語言:C#,非常簡單,如果你還年輕,對現在工作感到不理想。想學習一門技術這個是你不二選擇。
控制坦克玩家移動代碼:
public class Player : MonoBehaviour {
public float moveSpeed=3;
void Update()
{
//監聽水平方向
float h=Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right*h*moveSpeed*time.deltaTime,Space.wrold);
float v=Input.GetAxisRaw("Vertical");
transform.Translate(Vector3.up*v*moveSpeed*time.deltaTime,Space.wrold);
}
}
下面小白就從日常遇到的問題做個記錄。
問題1:GetAxis 和GetAxisRaw的區別?
Input.GetAxisRaw 獲取原始軸
通過坐標軸名稱返回一個不使用平滑濾波器的虛擬坐標軸;
Input.GetAxis 獲取軸
根據坐標軸名稱返回虛擬坐標系中的值;
共同點:
這兩種方法都是用來取得軸向值的,兩種方法的最大值和最小值都是1和-1.
不同點:
使用Input.GetAxis,在剛開始按下W的時候取得的值會從0到1慢慢遞增:exp:0-0.133-0.33-0.672-0.851-1.0;
放開就有遞減的效果,這種方法可以產生變化感,有加速和剎車的感覺;
使用Input.GetAxisRaw,取得的值永遠只有三種-1,0,1;在按下W取得值會從0變成1;
問題2:Transform.Translate 平移
簡單的說,向某方向移動物體多少距離;