- Home /
Slow camera move speed?
I have made my camera change the FOV when the RMB is being held down as well as animating my gun so it looks like your looking down the sight. What I'm trying to do now is have the camera movement speed to decrease whilst this is happening, is there anyway to do this?
current script,
public var FOVIN :float = 35;
public var FOVSpeed :float = 5; public var Aim : boolean = false; public var DeffFOV : float; public var CAM : GameObject;
function Awake(){
DeffFOV = CAM.camera.fieldOfView;
}
function Update () {
if(Input.GetMouseButtonDown(1)){ Aim = true; }
if(Input.GetMouseButtonUp(1)){ Aim = false; }
if(Aim){ CAM.camera.fieldOfView = Mathf.Lerp(CAM.camera.fieldOfView, FOVIN , FOVSpeed * Time.deltaTime); }
if(!Aim){ CAM.camera.fieldOfView = Mathf.Lerp(CAM.camera.fieldOfView , DeffFOV , FOVSpeed * Time.deltaTime); } }
Answer by ScroodgeM · Jul 21, 2012 at 08:12 PM
this script smooth changes FOV of camera on RMB
using UnityEngine; using System.Collections; public class CameraSmoothFOV : MonoBehaviour { Camera myCam; float minFieldOfView = 5f; float maxFieldOfVIew = 60f; float fieldOfViewChangeSpeed = 1f; void Start() { myCam = Camera.main; } void Update() { float targetFieldOfView = Input.GetMouseButton(1) ? minFieldOfView : maxFieldOfVIew; if (myCam.fieldOfView != targetFieldOfView) { float multiplier = 1.0f + Mathf.Clamp(Time.deltaTime * fieldOfViewChangeSpeed * Mathf.Sign(targetFieldOfView - myCam.fieldOfView), -0.25f, 0.5f); myCam.fieldOfView = Mathf.Clamp(myCam.fieldOfView * multiplier, minFieldOfView, maxFieldOfVIew); } } }
... and this modification of mouse look script from standard assets slows camera rotating to 10x on RMB pressed (changes are 'slowDownKoef')
using UnityEngine; using System.Collections;
/// MouseLook rotates the transform based on the mouse delta. /// Minimum and Maximum values can be used to constrain the possible rotation
/// To make an FPS style character: /// - Create a capsule. /// - Add the MouseLook script to the capsule. /// -> Set the mouse look to use LookX. (You want to only turn character but not tilt it) /// - Add FPSInputController script to the capsule /// -> A CharacterMotor and a CharacterController component will be automatically added.
/// - Create a camera. Make the camera a child of the capsule. Reset it's transform. /// - Add a MouseLook script to the camera. /// -> Set the mouse look to use LookY. (You want the camera to tilt up and down like a head. The character already turns.) [AddComponentMenu("Camera-Control/Mouse Look")] public class MouseLook : MonoBehaviour {
public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
public RotationAxes axes = RotationAxes.MouseXAndY;
public float sensitivityX = 15F;
public float sensitivityY = 15F;
public float minimumX = -360F;
public float maximumX = 360F;
public float minimumY = -60F;
public float maximumY = 60F;
float rotationY = 0F;
void Update ()
{
float slowDownKoef = Input.GetMouseButton(1) ? 0.1f : 1f;
if (axes == RotationAxes.MouseXAndY)
{
float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX * slowDownKoef;
rotationY += Input.GetAxis("Mouse Y") * sensitivityY * slowDownKoef;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
}
else if (axes == RotationAxes.MouseX)
{
transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX * slowDownKoef, 0);
}
else
{
rotationY += Input.GetAxis("Mouse Y") * sensitivityY * slowDownKoef;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);
}
}
void Start ()
{
// Make the rigid body not change rotation
if (rigidbody)
rigidbody.freezeRotation = true;
}
}
I forgot to say i'm not that good at scripting could you give a little more help please?
attach script to camera, start game and press R$$anonymous$$B.
you spent your first wish 8)
sorry about this but I meant to slow the camera speed when the R$$anonymous$$B is being held down, how would I do this?
is 'FOV' in the question means Field Of View? what movement are you talking about? which speed do you try to slow down?
In the question I said I have already done this and now I'm trying to have the camera's look around speed decrease whilst the R$$anonymous$$B is being held down.
Answer by kami1339 · Jan 25, 2019 at 12:31 PM
No ! 1You cant choose obj file because unity will very slow camera and etc! 2You must acclusion your camera ! 3Chage size your texture with Advanced JPEG Compressor. 4Change your build setting like my picture.
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
How to move a ball "faster" looking from a Camera 1 Answer
Mech Movement/Camera Help 0 Answers
End of Animation 1 Answer