假設(shè)你正在應(yīng)聘華為外包公司的Unity開發(fā)崗位,以下是一個(gè)可能的面試題:
面試題目:Unity實(shí)現(xiàn)物體移動(dòng)和旋轉(zhuǎn)
問題描述:
請(qǐng)使用Unity引擎編寫一個(gè)簡單的場(chǎng)景,其中包含一個(gè)立方體和一個(gè)球體。要求通過鍵盤輸入控制立方體的移動(dòng)和球體的旋轉(zhuǎn)。
具體要求:
1. 當(dāng)按下"W"鍵時(shí),立方體沿著場(chǎng)景的正前方(Forward)向前移動(dòng)。
2. 當(dāng)按下"S"鍵時(shí),立方體沿著場(chǎng)景的負(fù)前方(Backward)向后移動(dòng)。
3. 當(dāng)按下"A"鍵時(shí),立方體沿著場(chǎng)景的左側(cè)(Left)向左移動(dòng)。
4. 當(dāng)按下"D"鍵時(shí),立方體沿著場(chǎng)景的右側(cè)(Right)向右移動(dòng)。
5. 當(dāng)按下"Q"鍵時(shí),球體圍繞立方體的Y軸逆時(shí)針旋轉(zhuǎn)。
6. 當(dāng)按下"E"鍵時(shí),球體圍繞立方體的Y軸順時(shí)針旋轉(zhuǎn)。
解題思路:
使用Unity的C#腳本來實(shí)現(xiàn)物體的移動(dòng)和旋轉(zhuǎn)。首先,需要為立方體和球體分別添加一個(gè)腳本,然后在腳本中監(jiān)聽鍵盤輸入,并根據(jù)輸入來控制物體的移動(dòng)和旋轉(zhuǎn)。
Unity場(chǎng)景搭建和腳本編寫:
1. 在Unity中創(chuàng)建一個(gè)新場(chǎng)景,并在場(chǎng)景中放置一個(gè)立方體和一個(gè)球體。
2. 為立方體和球體分別創(chuàng)建一個(gè)C#腳本,例如CubeController.cs和SphereController.cs,并將腳本掛載到對(duì)應(yīng)的物體上。
CubeController.cs腳本:
using UnityEngine;
public class CubeController : MonoBehaviour
{
public float moveSpeed = 5f;
void Update()
{
// 監(jiān)聽鍵盤輸入,并控制立方體的移動(dòng)
if (Input.GetKey(KeyCode.W))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
if (Input.GetKey(KeyCode.S))
transform.Translate(Vector3.back * moveSpeed * Time.deltaTime);
if (Input.GetKey(KeyCode.A))
transform.Translate(Vector3.left * moveSpeed * Time.deltaTime);
if (Input.GetKey(KeyCode.D))
transform.Translate(Vector3.right * moveSpeed * Time.deltaTime);
}
}
SphereController.cs腳本:
using UnityEngine;
public class SphereController : MonoBehaviour
{
public float rotationSpeed = 100f;
void Update()
{
// 監(jiān)聽鍵盤輸入,并控制球體的旋轉(zhuǎn)
if (Input.GetKey(KeyCode.Q))
transform.RotateAround(transform.parent.position, Vector3.up, rotationSpeed * Time.deltaTime);
if (Input.GetKey(KeyCode.E))
transform.RotateAround(transform.parent.position, Vector3.down, rotationSpeed * Time.deltaTime);
}
}
在場(chǎng)景中,將Sphere對(duì)象作為立方體的子對(duì)象,這樣球體就能夠圍繞立方體旋轉(zhuǎn)。
完成上述操作后,保存場(chǎng)景和腳本,并運(yùn)行Unity場(chǎng)景。然后,按下"WASD"鍵來控制立方體的移動(dòng),按下"QE"鍵來控制球體的旋轉(zhuǎn)。
這個(gè)面試題旨在考察你對(duì)Unity引擎和C#腳本的基本掌握程度,同時(shí)展示你在解決問題上的思考能力和實(shí)際操作能力。希望以上面試題案例對(duì)你有所幫助,祝你面試順利!