parent
c1d8cd2d50
commit
cb32941c5b
@ -0,0 +1,122 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
public class RotateCamera : MonoBehaviour
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
public Transform CenObj;//围绕的物体
|
||||||
|
public float ratio = 1.0f;//放大缩小速率
|
||||||
|
public float min_distance = 5.0f; //相机距物体最小距离
|
||||||
|
public float max_distance = 10.0f;//相机距物体最大距离
|
||||||
|
|
||||||
|
//滑动结束时的瞬时速度
|
||||||
|
Vector3 Speed = Vector3.zero;
|
||||||
|
//每帧偏差
|
||||||
|
Vector3 offSet = Vector3.zero;
|
||||||
|
|
||||||
|
//速率衰减值
|
||||||
|
public float decelerationRate = 0.2f;
|
||||||
|
|
||||||
|
private Vector3 Rotion_Transform;
|
||||||
|
|
||||||
|
private new Camera camera;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
|
||||||
|
{
|
||||||
|
camera = GetComponent<Camera>();
|
||||||
|
|
||||||
|
Rotion_Transform = CenObj.position;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
Ctrl_Cam_Move();
|
||||||
|
|
||||||
|
Cam_Ctrl_Rotation();
|
||||||
|
|
||||||
|
ClickDo();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//镜头的远离和接近
|
||||||
|
|
||||||
|
public void Ctrl_Cam_Move()
|
||||||
|
|
||||||
|
{
|
||||||
|
Vector3 mousePos = camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0.1f));
|
||||||
|
if (Input.GetAxis("Mouse ScrollWheel") > 0 && Vector3.Distance(CenObj.position, camera.transform.position) > min_distance) //放大
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
camera.transform.position -= ratio * (camera.transform.position - mousePos);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Input.GetAxis("Mouse ScrollWheel") < 0 && Vector3.Distance(CenObj.position, camera.transform.position) < max_distance) //缩小
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
camera.transform.position += ratio * (camera.transform.position - mousePos);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//摄像机的旋转
|
||||||
|
|
||||||
|
public void Cam_Ctrl_Rotation()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
var mouse_x = Input.GetAxis("Mouse X");//获取鼠标X轴移动
|
||||||
|
|
||||||
|
var mouse_y = -Input.GetAxis("Mouse Y");//获取鼠标Y轴移动
|
||||||
|
|
||||||
|
if (Input.GetMouseButton(1))
|
||||||
|
{
|
||||||
|
offSet.x = mouse_x;
|
||||||
|
offSet.y = mouse_y;
|
||||||
|
//瞬时速度
|
||||||
|
Speed = offSet / Time.deltaTime;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Speed *= Mathf.Pow(decelerationRate, Time.deltaTime);
|
||||||
|
if (Mathf.Abs(Vector3.Magnitude(Speed)) < 1)
|
||||||
|
{
|
||||||
|
Speed = Vector3.zero;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
Move(Speed);
|
||||||
|
|
||||||
|
}
|
||||||
|
public void Move(Vector3 speed)
|
||||||
|
{
|
||||||
|
if (Vector3.Magnitude(speed) == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Debug.Log("Move");
|
||||||
|
transform.RotateAround(Rotion_Transform, Vector3.up, speed.x * Time.deltaTime * 2.0f);
|
||||||
|
|
||||||
|
transform.RotateAround(Rotion_Transform, transform.right, speed.y * Time.deltaTime * 2.0f);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ClickDo() {
|
||||||
|
if (Input.GetMouseButtonDown(0)) {
|
||||||
|
CenObj.GetComponentInChildren<Rigidbody>().useGravity = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 754bd182e35a1834f9c95cd9e0c9e11a
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1,44 +1,44 @@
|
|||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.collab-proxy": "1.17.2",
|
"com.unity.collab-proxy": "1.17.2",
|
||||||
"com.unity.ide.rider": "2.0.7",
|
"com.unity.ide.rider": "3.0.15",
|
||||||
"com.unity.ide.visualstudio": "2.0.16",
|
"com.unity.ide.visualstudio": "2.0.16",
|
||||||
"com.unity.ide.vscode": "1.2.5",
|
"com.unity.ide.vscode": "1.2.5",
|
||||||
"com.unity.test-framework": "1.1.31",
|
"com.unity.test-framework": "1.1.31",
|
||||||
"com.unity.textmeshpro": "3.0.6",
|
"com.unity.textmeshpro": "3.0.6",
|
||||||
"com.unity.timeline": "1.4.8",
|
"com.unity.timeline": "1.4.8",
|
||||||
"com.unity.ugui": "1.0.0",
|
"com.unity.ugui": "1.0.0",
|
||||||
"com.unity.modules.ai": "1.0.0",
|
"com.unity.modules.ai": "1.0.0",
|
||||||
"com.unity.modules.androidjni": "1.0.0",
|
"com.unity.modules.androidjni": "1.0.0",
|
||||||
"com.unity.modules.animation": "1.0.0",
|
"com.unity.modules.animation": "1.0.0",
|
||||||
"com.unity.modules.assetbundle": "1.0.0",
|
"com.unity.modules.assetbundle": "1.0.0",
|
||||||
"com.unity.modules.audio": "1.0.0",
|
"com.unity.modules.audio": "1.0.0",
|
||||||
"com.unity.modules.autostreaming": "1.0.0",
|
"com.unity.modules.autostreaming": "1.0.0",
|
||||||
"com.unity.modules.cloth": "1.0.0",
|
"com.unity.modules.cloth": "1.0.0",
|
||||||
"com.unity.modules.director": "1.0.0",
|
"com.unity.modules.director": "1.0.0",
|
||||||
"com.unity.modules.imageconversion": "1.0.0",
|
"com.unity.modules.imageconversion": "1.0.0",
|
||||||
"com.unity.modules.imgui": "1.0.0",
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
"com.unity.modules.jsonserialize": "1.0.0",
|
"com.unity.modules.jsonserialize": "1.0.0",
|
||||||
"com.unity.modules.particlesystem": "1.0.0",
|
"com.unity.modules.particlesystem": "1.0.0",
|
||||||
"com.unity.modules.physics": "1.0.0",
|
"com.unity.modules.physics": "1.0.0",
|
||||||
"com.unity.modules.physics2d": "1.0.0",
|
"com.unity.modules.physics2d": "1.0.0",
|
||||||
"com.unity.modules.screencapture": "1.0.0",
|
"com.unity.modules.screencapture": "1.0.0",
|
||||||
"com.unity.modules.terrain": "1.0.0",
|
"com.unity.modules.terrain": "1.0.0",
|
||||||
"com.unity.modules.terrainphysics": "1.0.0",
|
"com.unity.modules.terrainphysics": "1.0.0",
|
||||||
"com.unity.modules.tilemap": "1.0.0",
|
"com.unity.modules.tilemap": "1.0.0",
|
||||||
"com.unity.modules.ui": "1.0.0",
|
"com.unity.modules.ui": "1.0.0",
|
||||||
"com.unity.modules.uielements": "1.0.0",
|
"com.unity.modules.uielements": "1.0.0",
|
||||||
"com.unity.modules.umbra": "1.0.0",
|
"com.unity.modules.umbra": "1.0.0",
|
||||||
"com.unity.modules.unityanalytics": "1.0.0",
|
"com.unity.modules.unityanalytics": "1.0.0",
|
||||||
"com.unity.modules.unitywebrequest": "1.0.0",
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
|
||||||
"com.unity.modules.unitywebrequestaudio": "1.0.0",
|
"com.unity.modules.unitywebrequestaudio": "1.0.0",
|
||||||
"com.unity.modules.unitywebrequesttexture": "1.0.0",
|
"com.unity.modules.unitywebrequesttexture": "1.0.0",
|
||||||
"com.unity.modules.unitywebrequestwww": "1.0.0",
|
"com.unity.modules.unitywebrequestwww": "1.0.0",
|
||||||
"com.unity.modules.vehicles": "1.0.0",
|
"com.unity.modules.vehicles": "1.0.0",
|
||||||
"com.unity.modules.video": "1.0.0",
|
"com.unity.modules.video": "1.0.0",
|
||||||
"com.unity.modules.vr": "1.0.0",
|
"com.unity.modules.vr": "1.0.0",
|
||||||
"com.unity.modules.wind": "1.0.0",
|
"com.unity.modules.wind": "1.0.0",
|
||||||
"com.unity.modules.xr": "1.0.0"
|
"com.unity.modules.xr": "1.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,2 +1,2 @@
|
|||||||
m_EditorVersion: 2020.3.38f1c1
|
m_EditorVersion: 2020.3.40f1c1
|
||||||
m_EditorVersionWithRevision: 2020.3.38f1c1 (7f6c29cb6f61)
|
m_EditorVersionWithRevision: 2020.3.40f1c1 (739f03df2e02)
|
||||||
|
@ -0,0 +1,59 @@
|
|||||||
|
|
||||||
|
Library
|
||||||
|
library
|
||||||
|
Temp
|
||||||
|
temp
|
||||||
|
Obj
|
||||||
|
obj
|
||||||
|
Build
|
||||||
|
build
|
||||||
|
Builds
|
||||||
|
builds
|
||||||
|
UserSettings
|
||||||
|
usersettings
|
||||||
|
MemoryCaptures
|
||||||
|
memorycaptures
|
||||||
|
Logs
|
||||||
|
logs
|
||||||
|
/ignore.conf
|
||||||
|
*.private
|
||||||
|
*.private.meta
|
||||||
|
^*.private.[0-9]+$
|
||||||
|
^*.private.[0-9]+.meta$
|
||||||
|
**/Assets/AssetStoreTools
|
||||||
|
**/assets/assetstoretools
|
||||||
|
/Assets/Plugins/PlasticSCM*
|
||||||
|
/assets/plugins/PlasticSCM*
|
||||||
|
.vs
|
||||||
|
.gradle
|
||||||
|
ExportedObj
|
||||||
|
.consulo
|
||||||
|
*.csproj
|
||||||
|
*.unityproj
|
||||||
|
*.sln
|
||||||
|
*.suo
|
||||||
|
*.tmp
|
||||||
|
*.user
|
||||||
|
*.userprefs
|
||||||
|
*.pidb
|
||||||
|
*.booproj
|
||||||
|
*.svd
|
||||||
|
*.pdb
|
||||||
|
*.mdb
|
||||||
|
*.opendb
|
||||||
|
*.VC.db
|
||||||
|
*.pidb.meta
|
||||||
|
*.pdb.meta
|
||||||
|
*.mdb.meta
|
||||||
|
sysinfo.txt
|
||||||
|
*.apk
|
||||||
|
*.unitypackage
|
||||||
|
.collabignore
|
||||||
|
crashlytics-build.properties
|
||||||
|
**/Assets/AddressableAssetsData/*/*.bin*
|
||||||
|
**/assets/addressableassetsdata/*/*.bin*
|
||||||
|
**/Assets/StreamingAssets/aa.meta
|
||||||
|
**/assets/streamingassets/*/aa/*
|
||||||
|
.DS_Store*
|
||||||
|
Thumbs.db
|
||||||
|
Desktop.ini
|
Loading…
Reference in new issue