hii,
when i move my mouse, the camera also rotates in fps, i dont want that…
i only want what is being done from keys w,a,s,d and arrows…camera should not move with mouse, what to do in this case ??
secondly i want my fps not to collide with any any object in my scene, and i dont want to change the properties of every object, rather i want to do something with my fps…what to do in this case…
thanks in advance for ur help
Um I’m a little confused as to why you would do this (unless you were cloning Doom or Wolfenstein) but you could set up the inputs in your unity settings under
Edit/Project Settings/Input
Or write your own script that changes camera rotation based directly on specific key inputs.
as for collisions all objects in your scene need colliders to put it simply no other way round it
what do i do here with mouse x and mouse y ??? plz guide
post the code and be sure to use code tags please
I’ll look at it and see
zine92
August 3, 2011, 10:45pm
5
Take out the scripts that contains rotate? Maybe. Yeah like what That Homeless Guy said, need some samples to see.
i think this script attached to fps has d code -
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 ()
{
if (axes == RotationAxes.MouseXAndY)
{
float rotationX = transform.localEulerAngles.y + Input.GetAxis(“Mouse X”) * sensitivityX;
rotationY += Input.GetAxis(“Mouse Y”) * sensitivityY;
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, 0);
}
else
{
rotationY += Input.GetAxis(“Mouse Y”) * sensitivityY;
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;
}
}