Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Ayuda script movimiento personaje y rotacion de camara.

Iniciado por ThePalyerZftP, Julio 06, 2015, 08:21:41 PM

Tema anterior - Siguiente tema
Buenos dias.
 
En es mi ? post. Queria pregunatarles ha esta cumunidad de gente amable que ayuda con todo y hace scripts gratuitos... XD
 
Bueno eso que si me pueden hacer un script de movimento del personaje y rotacion de la camara.
 
Detalles de los scripts.
 
2 scripts separados 
 
Primer script quiero que mueva mi personaje en x / z mediante fuerzas.
 
Segundo script quiero que la camara gire en funcion de donde apunte el raton.
 
Atentamente ThePalyerZftP

mi estimado colega, en este foro estamos para :
 
1. orientarte en tus dudas que tengas en scripts y unity en general,
2. ayudarte a corregir y comprender dichos problemas que vayan surgiendo,
 
NO estamos para:
for(int a=0;a<tuspeticionesdescriptsgratis;a++){
1. hacerte scripts solo por que los necesitas.
2. ayudarte y que no trates de aprender/comprender.
}
 
dado el caso que quieras y te da flojera aprender pues siempre hay colegas que pueden hacerte los scripts , pagando por ellos
de una u otra forma te tiene que costar
 
o usas tu cerebro o usas tu cartera.
 
saludos.

Es que no tengo flojera solo que tuve errores cuando yo lo hice, Y vine a ver si alguien podia hacerlo por mi a cambi de salir en los creditos.

Recuerden visitar mi post del en desarollo que tengo : 
El post lo voy actualizando cada di con lo que he echo. De momento estoy trabajando en el diseño.

coloca aca tus scripts para irte orientarte, es la manera correcta, saludos  , y a lo que dices, ocupas un colaborador de proyecto.

Julio 07, 2015, 11:35:37 PM #5 Ultima modificación: Julio 07, 2015, 11:37:16 PM por ThePalyerZftP
Cita de: ACarranza date=1436292204coloca aca tus scripts para irte orientarte, es la manera correcta, saludos  , y a lo que dices, ocupas un colaborador de proyecto.
Si a la pregunta ocupas un colaborador de proyecto es que si tengo alguien trabajando con migo la respuesa es no, Yo solo estoy trabajando en el proyecto.
 
Los scripts son los siguientes.
 
Controles personaje:
 
using UnityEngine;
using System.Collections;
public class Controls : MonoBehaviour {
public float speed;
private Rigidbody rb;
void Start ()
{
 
  rb = GetComponent<Rigidbody>();
}
 
void FixedUpdate ()
{
  float moveDel = 0;
  if (Input.GetKey (KeyCode.D)) {
   moveDel = 10;
  }
  if (Input.GetKey (KeyCode.A)) {
   moveDel = -10;
  }
 
  float moveLat = 0;
 
  if (Input.GetKey (KeyCode.W)) {
   moveLat = 10;
  }
  if (Input.GetKey (KeyCode.S)) {
   moveLat = -10;
  }
 
  Vector3 movement = new Vector3 (moveDel, 0.0f, moveLat);
 
  rb.AddForce (movement * speed);
}
}
 
Rotacion camara:
 
using UnityEngine;
using System.Collections;
 
public class Camrot : MonoBehaviour {
 
public float giroLaterall = -30f;
public float giroLateralr = 30f;
public KeyCode rl = KeyCode.LeftArrow;
public KeyCode ra = KeyCode.RightArrow;
 
 
void Update () {
 
if (Input.GetKey (rl))  
{
transform.Rotate (new Vector3 (0.0f, giroLaterall,0.0f));
 
if (Input.GetKey (ra))
{
transform.Rotate (new Vector3 (0.0f, giroLateralr,0.0f));
}
}
}
}
 
Script para que la camara siga al jugador:
 
using UnityEngine;
using System.Collections;
 
public class CameraController : MonoBehaviour {
 
public GameObject player;
 
private Vector3 offset;
 
void Start ()
{
offset = transform.position - player.transform.position;
}
 
void LateUpdate ()
{
transform.position = player.transform.position + offset;
}
}

Julio 08, 2015, 09:04:59 AM #6 Ultima modificación: Julio 09, 2015, 08:16:27 AM por esr
Buenas, creo segun lo que he visto en tu proyecto que buscas una camara en tercera persona, si no me equivoco la camara siempre apuntara al jugador y la iras rotando con el raton.
 
Lo que yo haria es "prepararmelo" en el diseño de la escena para que la programacion sea mas sencilla. Como queremos que la camara siga al jugador yo crearia un GameObject (el que llamaremos padre_jugador) vacio y lo haria padre de la camara y el modelo del jugador, la camara la ponemos a una distancia x del jugador y mirandole. Con esto conseguimos que la camara siempre este a la misma distancia del jugador, cuando movemos no aplicamos las trasnformaciones al jugador si no al padre_jugador y asi movemos a los dos a la vez. Con esto nos hemos quitado tu script de CameraController.
 
Ahora bien con esto tenemos la camara siguiendo al jugador pero las rotaciones en la camara sobre un punto todavia nos pueden dar problemas, por lo que por segunda vez creamos otro GameObject vacio (lo llamaremos punto_rotacion), esta vez dentro de padre_jugador. Ahora hacemos hijo a la camara de punto_rotacion de tal forma que al rotar punto_rotacion sobre su propio eje la camara rotara sobre el siempre apuntando a ese punto. Con esto hemos simplificado Camrot  ha realizar las rotaciones solo sobre el punto.
 
Y como una imagen vale mas que mil palabras te adjunto una captura para que veas como queda:

 
Ahora el punto mas complicado que es el movimiento del jugador, este movimiento se realiza dependiendo de la posicion de la camara, si no lo haces asi al jugador le dara una sensacion rara al mover al jugador, el script es algo mas complicado por que necesitas conocer la rotacion de la camara, en este caso el del punto rotacion. Yo tenia hecho un codigo te lo busco y te lo enseño.
 
Saludos.

Julio 08, 2015, 05:44:06 PM #7 Ultima modificación: Julio 08, 2015, 08:08:33 PM por ThePalyerZftP
Muchas gracias por la ayuda pero no consigo abrir las imagenes que me has aportado.

Prueba ahora que creo que ya se pueden ver.
 
Saludos.

Muchas gracias. Pero ya consegui un programador para trabajar en el proyecto.

Etiquetas: