十一、Quaternion四元數以及歐拉角
1、獲取歐拉角:transform.eulerAngles;
2、獲取四元數:transform.rotation;
3、四元數轉換歐拉角:transform.rotation.enlerAngles;
4、歐拉角轉換四元數:Quaternion.Euler(transform.enlerAngles);
5、LookRotation:創建具有指定的正向和向上方向的旋轉。
6、Lerp:用t在a和b之間進行插值,然後對結果進行歸一化。參數t的取值範圍爲[0,1]。
7、Slerp:通過t在a和b之間進行球面插值。參數t被夾在[0,1]範圍內。
測試代碼:(使player轉向enemy)
public class API14Quaternion : MonoBehaviour {
public Transform player;
public Transform enemy;
void Update () {
if(Input.GetKey(KeyCode.Space)){
Vector3 dir = enemy.position - player.position;
dir.y = 0;
Quaternion target= Quaternion.LookRotation(dir);
player.rotation = Quaternion.Lerp(player.rotation, target, Time.deltaTime);
}
}
}
十二、Rigidbody剛體組件
1、position:剛體的位置。
2、MovePosition:將剛體移動到指定位置。(持續移動比較平滑)
3、rotation:剛體的旋轉。
4、MoveRotation:將剛體旋轉到旋轉。(持續移動比較平滑)
5、AddForce:給剛體增加一個力。
6、AddForceAtPosition:在位置施加力。因此,這將對物體施加一個力矩和力。
十三、Camera類
1、main:第一個啓用的標記爲“主攝像頭”的攝像頭(只讀)。
2、ScreenPointToRay:返回從攝像機通過屏幕點的光線。
測試代碼:(通過camera把屏幕上的點轉化爲射線進行射線檢測)
public class API16Camera : MonoBehaviour {
private Camera mainCamera;
void Start () {
//mainCamera= GameObject.Find("MainCamera").GetComponent<Camera>();
mainCamera = Camera.main;
}
void Update () {
//Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);
//RaycastHit hit;
//bool isCollider = Physics.Raycast(ray, out hit);
//if (isCollider)
//{
// Debug.Log(hit.collider);
//}
Ray ray = mainCamera.ScreenPointToRay(new Vector3(200, 200, 0)); //發出一條線
Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow);
}
}
十四、Application
1、Application:包含遊戲數據文件夾的路徑(只讀)。
測試代碼:
public class API17Application_xxxPath : MonoBehaviour {
void Start()
{
print(Application.dataPath);
print(Application.streamingAssetsPath);
print(Application.persistentDataPath);
print(Application.temporaryCachePath);
}
}
2、companyName:返回應用程序公司名稱(只讀)。
3、identifier:在運行時返回應用程序標識符。
4、installerName:返回安裝應用程序的商店或包的名稱(只讀)。
5、installMode:返回應用程序安裝模式(只讀)。
6、isEditor:是否在Unity編輯器中運行。
7、isFocused:玩家當前是否有焦點。
8、isMobilePlatform:目前運行時平臺是一個已知的移動平臺。
9、isPlaying:在任何類型的播放器中返回true(只讀)。
10、platform:返回遊戲運行的平臺(只讀)。
11、productName:返回應用程序產品名稱(只讀)。
12、runInBackground:當應用程序在後臺時,是否運行。
13、unityVersion:用於播放內容的Unity運行時版本。
14、version:返回應用程序版本號(只讀)。
15、OpenURL:在瀏覽器中打開url。
16、Quit:退出應用程序。
17、CaptureScreenshot:截圖。
十五、切換加載場景(場景管理器SceneManager)
- UnityEngine.SceneManagement
1、LoadScene:在構建設置中通過其名稱或索引加載場景。
2、LoadSceneAsync:在後臺異步加載場景。(過渡頁面)
3、sceneCount:當前加載場景的總數。
4、sceneCountInBuildSettings:構建設置中的場景數。
5、CreateScene:使用給定的名稱在運行時創建一個空的新場景。
6、GetActiveScene:獲取當前的場景。
7、GetSceneAt:在SceneManager的添加場景列表的索引處獲取場景。
8、GetSceneByBuildIndex:從構建索引中獲取場景結構。
9、SetActiveScene:設置場景爲激活。
10、activeSceneChanged:(事件)加載新的場景時。
11、sceneLoaded:(事件)有新場景加載完成時。
12、sceneUnloaded:(事件)場景卸載完時。