Hola,
Estaba intentando hacer una camara fija en un personaje estilo Outlast, estaba siguiendo este tutorial: https://www.youtube.com/watch?v=-RTyXouM4dw&t=202s (//%5Byoutube%5Dhttps://www.youtube.com/watch?v=-RTyXouM4dw%5B/youtube%5D&t=202s)
Llega el momento de añadir el MouseLook.cs al personaje y me da el error "The script needs to derive from MonoBehaivour!"
En Consola me devuelve el siguiente error:
Assets/Standard Assets/Characters/FirstPersonCharacter/Scripts/FirstPersonController.cs(29,17): error CS0246: The type or namespace name `MouseLook' could not be found. Are you missing an assembly reference?
[/quote]
He probado de comentar la linea... Pero dan mas errores.
La Linea en cuestion es esta:
private MouseLook m_MouseLook;
[/quote]
Alguien tiene alguna idea de que puede estar pasando? He estado buscando en otros foros etc... Pero no me sirve nada :(
Saludos!
Un consejo y el mejor de todos que te va a evitar toneladas de problemas es no usar/confiar en codigos ajenos, si queres copia funcionalidades (siempre que las entiendas) pero nunca todo el codigo, siempre aparecen errores idiotas. Y de yapa aprendes a hacerlos vos. Obvio que la mayoria hemos robado codigo jajaj, la mejor forma de aprender y crear.
Te fijaste que derive de monobehavour? el codigo de donde lo sacaste? si ese es el firstPersonController standard de Unity te recomiendo que gires 180° y corras lo que mas puedas , de enserio, hacerse un controller eficiente y liviano te lleva 4 lineas de codigo para lo que seguro lo vas a usar.
Si queres hacer un mouseLook podes crearte uno, es super simple, los limites se lo tenes que agregar vos:
using UnityEngine;
using System.Collections;
public class Player_Camera : MonoBehaviour {
Transform cam;
float sensitivity = 2;
float anglePitch = 0;
void OnEnable () {
cam = Camera.main.transform;
}
void Update () {
anglePitch -= Input.GetAxis ("Mouse Y");
transform.eulerAngles += new Vector3 (0 , Input.GetAxis ("Mouse X"), 0) * sensitivity;
cam.localEulerAngles = new Vector3 (anglePitch , 0, 0) * sensitivity;
}
}
Esto se lo pones a tu player, siendo la camara hija del player.
en este caso lo llame Player_Camera y por ejemplo Player_Movement podria contener lo relacionado al movimiento.
Que loco, te dije de no usar codigos ajenos y te pase uno jajaj.
@lightbug He entrado a trastear con esto por aprender un poco, hay una cosa que no me queda clara anglePitch maneja el eje Y del ratón, ¿porqué no se invierte al quitarle el menos?
anglePitch = Input.GetAxis("Mouse Y");
También he añadido estas dos lineas para evitar poder mirar demasiado arriba y demasiado abajo en el Update()
if (anglePitch > 30)
anglePitch = 30;
if (anglePitch < -30)
anglePitch = -30;
Cita de: Cristian Ros date=1491540180if (anglePitch > 30) anglePitch = 30; if (anglePitch < -30) anglePitch = -30;
tenia esas lineas pero no se porque se las quite, eso era de un script que tenia tirado por ahi, se ve que pase uno viejo.
Cita de: Cristian Ros date=1491540180hay una cosa que no me queda clara anglePitch maneja el eje Y del ratón, ¿porqué no se invierte al quitarle el menos?
var += 2 es equivalente a
var = var + 2 y
var = 2 es equivalente a
var = 2 si queres invertirlo tenes que sumar
anglePitch += Input.GetAxis("Mouse Y");
o restarlo cuando se lo aplicas a la camara en cam.localEulerAngles ...
@lightbug Es tan obvio que me acabo de quedar muy loco por no haberme fijado, sorry por no fijarme mejor
Cita de: st0le date=1491519502Hola,
Estaba intentando hacer una camara fija en un personaje estilo Outlast, estaba siguiendo este tutorial:
https://www.youtube.com/watch?v=-RTyXouM4dw&t=202s (//%5Byoutube%5Dhttps://www.youtube.com/watch?v=-RTyXouM4dw%5B/youtube%5D&t=202s)
Llega el momento de añadir el MouseLook.cs al personaje y me da el error "The script needs to derive from MonoBehaivour!"
En Consola me devuelve el siguiente error:
He probado de comentar la linea... Pero dan mas errores.
La Linea en cuestion es esta:
Alguien tiene alguna idea de que puede estar pasando? He estado buscando en otros foros etc... Pero no me sirve nada :(
Saludos!
Te da ese error porque no hay una clase creada que se llame MouseLook, asegurate que en MouseLook.cs en las primeras lineas del código hay algo así y que no tiene ningún otro nombre:
public class MouseLook : MonoBehaviour