在不影响整体功能情况下,CameraKick这个脚本简化如下:
//CameraKick.cs by Azuline Studios© All Rights Reserved
//Camera positioning and angle management for smooth camera kicks and animations.
using UnityEngine;
using System.Collections;
public class CameraKick : MonoBehaviour {
//other objects accessed by this script
[HideInInspector]
public GameObject gun;//this variable updated by PlayerWeapons script
[HideInInspector]
public GameObject playerObj;
[HideInInspector]
public GameObject weaponObj;
private Transform myTransform;
private FPSRigidBodyWalker FPSWalkerComponent;
private Ironsights IronsightsComponent;
private FPSPlayer FPSPlayerComponent;
private WorldRecenter WorldRecenterComponent;
//camera angles
[HideInInspector]
public float CameraYawAmt = 0.0f;//this value is modified by animations and added to camera angles
[HideInInspector]
public float CameraPitchAmt = 0.0f;//this value is modified by animations and added to camera angles
[HideInInspector]
public float CameraRollAmt = 0.0f;//this value is modified by animations and added to camera angles
// private float timer;
// private float waveslice;
[HideInInspector]
public Vector3 bobAngles = new Vector3(0,0,0);//view bobbing angles are sent here from the HeadBob script
private float returnSpeed = 4.0f;//speed that camera angles return to neutral
private bool animState = false;
//to move gun and view down slightly on contact with ground
private bool landState = false;
private float landStartTime = 0.0f;
private float landElapsedTime = 0.0f;
private float landTime = 0.35f;
private float landAmt = 20.0f;
private float landValue = 0.0f;
//weapon position
private float gunDown = 0.0f;
[HideInInspector]
public float dampOriginX = 0.0f;//Player X position is passed from the GunBob script
[HideInInspector]
public float dampOriginY = 0.0f;//Player Y position is passed from the HeadBob script
//camera position vars
private Vector3 tempLerpPos;
private float lerpSpeed;
private Transform playerObjTransform;
private Transform mainCameraTransform;
void LateUpdate (){
transform.parent.transform.position = playerObj.transform.position;
transform.position = playerObj.transform.position;
transform.localRotation = Quaternion.identity;
}
}
FR:海涛高软(Hunk Xu)
QQ技术交流群:386476712