1. 程式人生 > >【SIKIA計劃】_07_Unity3D遊戲開發-坦克大戰筆記

【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下