Noticias

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

Problema Colision

Iniciado por Jesus91, Julio 21, 2015, 05:33:40 AM

Tema anterior - Siguiente tema
Hola, la cuestion es que tengo un personaje y a los lados hay dos paredes. En el pc, me funciona perfecto, al chocar con las paredes el muñeco no pasa de ahi. El problema es cuando lo paso para probarlo al telefono, que las atraviesa y cae al vacio. Porque puede ser?Gracias

Julio 21, 2015, 08:37:12 PM #1 Ultima modificación: Junio 01, 2016, 12:37:07 AM por pioj
Con esto el personaje me va hacia los lados....
 

using UnityEngine;
using System.Collections;
public class ControladorTransform4 : MonoBehaviour {
    public float velocidad = 1f;
    public float giro = 3f;
    
    // Update is called once per frame
    void Update ( ) {
        Vector3 avance = Input.GetAxis ("Horizontal") * Vector3.right * velocidad * Time.deltaTime;
        transform.Translate ( avance );
        Vector3 rotacion = Input.GetAxis ( "Vertical" ) * Vector3.left * giro * Time.deltaTime;
        transform.Rotate ( rotacion );
    }
}

 
 
 
Y con este lo muevo en el cell.......
 

using UnityEngine;
using System.Collections;
public class MoverJugador : MonoBehaviour {
    void Update() {
        if(Input.touchCount > ){ 
            if(Input.GetTouch().position.x > Screen.width/2)
                transform.Translate(Vector3.right);
            if(Input.GetTouch().position.x < Screen.width/2) 
                transform.Translate(Vector3.left);
        }
    }
}

 
 

Efectivamente.. con transform.Translate modificas la posición del objeto indicándole que se mueva en una dirección. Normalmente esto haría que atravesara paredes y te daría un comportamiento erróneo ya que las físicas no están actuando normalmente.  Si el personaje tiene rigidbody tendrías que moverlo aplicando alguna fuerza, para que las físicas de unity trabajen normalmente. o usar un CharacterController y moverlo con move() o simpleMove()

FNK Games  Games Developer  -  Juegos realizados en Unity para iOS y Android



Etiquetas: