【SIKIA計劃】_07_Unity3D遊戲開發-坦克大戰筆記
【新增分類】
【AudioClips】音訊剪輯
【AudioMixers】音訊混合器
【Editor】
【Fonts】字型
【Materials】材質
【Models】模型
【Standard Assets】
【渲染調整】
Windows
——Lighting
————Scene
——————Ambient Color 顏色偏向
——————Auto 自動渲染
Camera
——projection{Orthographic}正交視野
【鍵盤控制】
FixedUpdate 固定幀
//物理位移一般放在這
float v = Input.GetAxis("Vertical");
//單人控制(WSAD與上下左右同時有效)
rigidbody.velocity = transform.forward*v*Speed;
//物體前面方向
float h = Input.GetAxis("HorizontalPlayer"+number);
//雙人控制
rigidbody.angularVelocity = transform.up*h*angularSpeed;
//圍繞Y軸
Rigidbody
Constraints
——Freeze position Y軸鎖定
——Freeze Rotation x.y軸鎖定
輸入設定
Edit
——Project Settings
————Input
設定HorizontalPlayer1為WSAD
【子彈】
Capsule Collider 膠囊碰撞器
在Tank裡設定一個空物體在炮口處
GameObject go = GameObject.Instantiate(shellPrefab, firePosition.position, firePosition.rotation) as GameObject;
//子彈位置為空物體位置,方向不改變
go.GetCompontent<Rigidbody>().velocity = go.tranform.forward*firePosition;
【爆炸特效】
Play On Awake 勾選上
GameObject.Instantiate(shellExplosionPrefab,transform.position,transform.rotation);
GameObject.Destroy(this.gameObject);
Destroy(this.gameObject,time);自動銷燬,時間改為播放時間相同
【視野調整】
offset = transform.position - (player1.position+player2.position)/2
//初始偏移
transform.position = (player1.position+player2.position)/2+offset;
float distance = vector3.Distance(player1.position,player2.position)
float size = distance*0.58f; //根據相機大小除以他們開始距離
camera.orthographicSize = size;
【跟蹤血條】
Slider滑動
——Fill
————Image Type {Filled} //360度填充
Canvas UI
——Render Mode {world Space} //世界空間,由Main Camera完成渲染
Canvas 修改小整體移動到Tank下