資源簡介
Unity3D 旋轉相機視角 鏡頭縮放 拖動相機視角 Game視窗還原Sence視窗功能

代碼片段和文件信息
using?System.Collections;
using?System.Collections.Generic;
using?UnityEngine;
public?class?MouseOrbit?:?MonoBehaviour?{
????
????//偏移量和中心店
????Vector3?offest;
????Vector3?target;
????//記錄第一坐標
????Vector3?P1;
????float?distance?=?15.0f;
????float?xSpeed?=?250.0f;
????float?ySpeed?=?120.0f;
????float?x?=?0.0f;
????float?y?=?0.0f;
????//相機移動速度
????float?Speed?=?40.0f;
????//?Use?this?for?initialization
????void?Start?()
????{
????????var?angles?=?transform.eulerAngles;
????????x?=?angles.y;
????????y?=?angles.x;
????????//旋轉中心初始點
????????target?=?new?Vector3(0?0?0);
????}
????private?void?Update()
????{
????}
????void?LateUpdate()
????{??????
????????if?(Input.GetMouseButton(0))
????????{
????????????
????????????x?+=?Input.GetAxis(“Mouse?X“)?*?xSpeed?*?0.02f;
????????????y?-=?Input.GetAxis(“Mouse?Y“)?*?ySpeed?*?0.02f;
????????????//返回一個四元數?繞某個軸旋轉某個角度
????????????var?rotation?=?Quaternion.Euler(y?x?0);
????????????var?position?=?rotation?*?new?Vector3(0.0f?0.0f?-distance)?+?target;
????????????transform.rotation?=?rotation;
????????????transform.position?=?position;
???????????
????????}
????????else?if(Input.GetMouseButton(1))
????????{
????????????
????????????float?x;
????????????float?y;
????????????x?=?Input.GetAxis(“Mouse?X“);
????????????y?=?Input.GetAxis(“Mouse?Y“);
????????????transform.Translate(new?Vector3(-x?-y?0)?*?Time.deltaTime?*?Speed);
????????????//print(“轉換過的:“?+?Camera.main.ScreenToWorldPoint(new?Vector3(x?y?0)));
??????????????????
????????}
???????
????????
????????if?(Input.GetMouseButtonDown(1))
????????{
??????????
????????????P1?=?transform.position;
????????}
????????if?(Input.GetMouseButtonUp(1))
????????{
????????????
????????????////利用射線檢測來獲取屏幕中心點坐標
????????????Ray?ray?=?Camera.main.ScreenPointToRay(new?Vector3(Screen.width?/?2?Screen.height?/?2?0));
????????????RaycastHit?hit;
????????????if?(Physics.Raycast(ray?out?hit))??
????????????{
????????????????if?(hit.collider)
????????????????{
????????????????????target?=?new?Vector3(hit.point.x?hit.point.y?hit.point.z);
????????????????????distance?=?(hit.point?-?transform.position).magnitude;
????????????????????print(hit.collider.name);
????????????????}
????????????}
????????????else
????????????{
????????????????offest?=?transform.position?-?P1;
????????????????target?=?target?+?offest;
????????????????distance?=?(target?-?transform.position).magnitude;
????????????}
????????}
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-01-08?11:55??Project\
?????目錄???????????0??2018-01-08?11:26??Project\.vs\
?????目錄???????????0??2018-01-08?11:26??Project\.vs\Project\
?????目錄???????????0??2018-01-08?11:26??Project\.vs\Project\v15\
?????文件??????114176??2018-01-08?11:55??Project\.vs\Project\v15\.suo
?????目錄???????????0??2018-01-08?11:26??Project\.vs\Project\v15\Server\
?????目錄???????????0??2018-01-08?11:55??Project\.vs\Project\v15\Server\sqlite3\
?????文件???????????0??2018-01-08?11:26??Project\.vs\Project\v15\Server\sqlite3\db.lock
?????文件??????720896??2018-01-08?11:55??Project\.vs\Project\v15\Server\sqlite3\storage.ide
?????目錄???????????0??2018-01-08?11:23??Project\.vs\RotateProject-1.2\
?????目錄???????????0??2018-01-08?11:23??Project\.vs\RotateProject-1.2\v15\
?????文件??????138752??2018-01-05?10:10??Project\.vs\RotateProject-1.2\v15\.suo
?????目錄???????????0??2018-01-08?11:23??Project\.vs\RotateProject-1.2\v15\Server\
?????目錄???????????0??2018-01-08?11:23??Project\.vs\RotateProject-1.2\v15\Server\sqlite3\
?????文件???????????0??2018-01-02?14:12??Project\.vs\RotateProject-1.2\v15\Server\sqlite3\db.lock
?????文件??????749568??2018-01-05?10:10??Project\.vs\RotateProject-1.2\v15\Server\sqlite3\storage.ide
?????目錄???????????0??2018-01-08?11:25??Project\Assets\
?????目錄???????????0??2018-01-08?11:23??Project\Assets\Resources\
?????目錄???????????0??2018-01-08?11:23??Project\Assets\Resources\Prefabs\
?????文件????????3106??2018-01-03?15:40??Project\Assets\Resources\Prefabs\Cube.prefab
?????文件?????????232??2018-01-03?14:35??Project\Assets\Resources\Prefabs\Cube.prefab.me
?????文件?????????214??2018-01-03?14:35??Project\Assets\Resources\Prefabs.me
?????文件?????????214??2018-01-03?14:35??Project\Assets\Resources.me
?????目錄???????????0??2018-01-08?11:26??Project\Assets\Scirpts\
?????文件????????2675??2018-01-05?09:57??Project\Assets\Scirpts\MouseOrbit.cs
?????文件?????????285??2018-01-02?14:11??Project\Assets\Scirpts\MouseOrbit.cs.me
?????文件?????????790??2018-01-08?11:26??Project\Assets\Scirpts\SWZoom.cs
?????文件?????????285??2018-01-02?15:01??Project\Assets\Scirpts\SWZoom.cs.me
?????文件?????????214??2018-01-02?14:11??Project\Assets\Scirpts.me
?????文件???????25668??2018-01-08?11:25??Project\Assets\test.unity
?????文件?????????197??2018-01-02?14:08??Project\Assets\test.unity.me
............此處省略618個文件信息
- 上一篇:彩票的選擇
- 下一篇:risc-v core Verilog源碼
評論
共有 條評論