Jump to content

newuser

Fosiles
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

1 Neutral

About newuser

  • Rank
    Iniciado

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hola! estoy programando un personaje que rote alrededor de un objeto,lo he conseguido con el rotate.Around,el problema es que no colisiona y me gustaria saber como lo hariais(por favor no me digais que añadiendo un box collider que no funciona).Mi idea es hacer la colision como el simple.Move,y he visto algo sobre una funcion llamada Quartenion pero no la entiendo muy bien,si alguien puede decirme lo que sea lo agradeceria.
  2. *Como ya me lo temia,era una tonteria,consistia en crear otra variable en la 1ºscript var nombre : GameObject; y ediar el getcomponent en : nombre.gameObject.GetComponent,es una tonteria porque ya daba por sentado que la var stopShip lo cojeria del objeto,en fin. Hola!(otra vez),hoy he retomado Unity y se me ha presentado un problema que no consigo resolver,os pongo en situacion,he creado dos scripts,uno es el movimiento continuo hacia una direccion y otro es cuando el personaje colisiona con un cubo,loo que quiero hacer es que cuando el personaje colisione con el cubo la camara con el script del movimiento se desactive,y bueno lo he creado con el gameObject.GetComponent y me dice que no encuentra la variable y bla bla bla.Aqui os dejo las scripts: //Esta script desactiva en teoria el movimiento en una direccion. private var ship : Nave;//activate desactivate script var stopShip : ResetLevel;//condition for disactivate the script function Start () { ship = GetComponent(Nave); stopShip = gameObject.GetComponent(ResetLevel); } function Update () { if(stopShip.stop == true)//La consola me señala esta linea y mire en el manual y todo parece correcto. { ship.enabled = !ship.enabled; } } //Esta script es al colisionar con el cubo var stop : boolean = false; function Start () { } function OnTriggerEnter (other:Collider) { if(other.tag == "Reset") { stop = true; //aqui puse que se parase 1 segundo porque alomejor el codigo iba tan rapido que el jugador se destruia y por eso no encontraba la var pero no es por eso. clone = Instantiate(explosion, transform.position, transform.rotation); Destroy(gameObject); } } Seguramente sea una tonteria que no estoy viendo pero bueno,gracias.
  3. Hola,me acabo de dar cuenta que esta duda planteada estaba en el foro equivocado hahaha.Pero en fin mi problema es el siguiente estoy haciendo un vehículo con una torreta encima la cosa es que tengo la script para que se mueva con el ratón peeero cuando giro el coche la torreta se gira con este lo cual hace que se descentre completamente la cámara con el centro de la torreta.¿Alguna idea?,gracias. //LA TORRETA var horizontalSpeed : float = 4.9999; var verticalSpeed : float = 4.9999; function Start () { } function Update () { var hrt : float = horizontalSpeed * Input.GetAxis("Mouse X"); var vrt : float = verticalSpeed * Input.GetAxis("Mouse Y"); transform.Rotate(0,vrt,hrt); }
  4. Hola,hoy se me ha presentado una pequeña dificultad que me está sacando de mis casillas. La cuestión es que he hecho un vehículo con un arma encima,solo me queda programar el hecho de que la metralleta se quede quieta en el centro del vehículo y rote junto con la cámara.He probado con las scripts por defecto,funciona...pero a medias,es decir el modelado se me deforma.He intentado encontrar información sobre cómo al mover el ratón,se ejecute la rotacion.Muchas gracias.
  5. Hola,antes de nada he de agradecer toda esa ayuda por parte de la comunidad,gracias. Ahora a lo importante...Estoy intentando que el jugador evada los ataques del enemigo de una forma muy básica,esencialmente tengo un script en el cube que hace daño al jugador con un temporizador que cuando lo pulsas se queda desactivado el box collider durante x tiempo,pues por lo que vi desactivar el box collider no funciona es cierto?
  6. Muchas gracias a ver que sale hahah Por cierto me pasa exactamente los mismo con el TriggerEnter.
  7. Buenos días,estaba programando una script de vida para que asi el jugador recibiese daño,lo probé una y otra vez iba directo al enemigo y parecia que funcionaba,pero cuando me quede parado para simular una situación en la que el jugador está observando el mapa para poder continuar,el enemigo venia pero no me quitaba vida fui probando y me di cuenta de que solo me hace daño cuando yo me muevo,lo cual es un problema porque ahora estaba programando un boss que arrojase lanzas y como que si te quedas quieto no te hacen nada,es más te lo podrias cargar sin moverte.Aqui el código: Como se puede observar en la primera línea puse una static var para así probar y crear otra script en el cubo el cual mi "Player" va a recibir daño en la que tenía un OnTriggerStay y dentro VIDA.vida -= dano; Pero no lo consegui,ya no sé que hacer ¿una pequeña ayuda aunque sea?,muchas gracias.
  8. Bueno ahora estoy haciendo el movimiento de un vehículo muyyyy simple,el problema es que seguí tutoriales de scripting (estaban en c#) y la verdad es que no me funcionaban del todo bien,me explico. El vehículo se quedaba en el aire sin gravedad, si desactivo la gravedad salía volando,no se movia el coche,le puse fricción en 1(con un rigidbody de 10) y tampoco. Nose que falla busque informacion tanto en la comunidad inglesa como española y nada. Uso la versión 4.6.6f1,y hago lo siguiente: creo un cubo,cuatro cilindros(simulando el modelo de las ruedas) y cuantro gameobject's vacíos(los cuales tienen un wheelCollider),emparento los cilindros a los gameobject's(haciendo que los gameobject's sean padres de los cilindros) y añado a lo que se suponen que son ruedas el script "DetecWheelCol". Luego las ruedas las emparento a el cubo (haciendo que el cubo sea el padre,y este cubo tiene un box collider y un rigidbody por defecto con una masa de 10) y le añado la script de PlayerCar12. Aqui están los códigos que más se acercaban a lo que yo quiero y funcionaban a medias: PlayerCar12: using UnityEngine; using System.Collections; public class PlayerCar12 : MonoBehaviour { public Vector3 centerOfMass = Vector3.zero; public WheelCollider frontLeftWheel; public WheelCollider frontRightWheel; public float speed = 100; public float maxSteerAngle = 30; private bool hasWheelContact = false; private float motorForce = 0; public void HasContact(){ hasWheelContact = true; } // Use this for initialization void Start () { rigidbody.centerOfMass = centerOfMass; } // Update is called once per frame void FixedUpdate () { motorForce = Input.GetAxis ("Vertical") * speed; if (hasWheelContact) { frontLeftWheel.motorTorque = motorForce; frontRightWheel.motorTorque = motorForce; } float rotation = Input.GetAxis ("Horizontal") * maxSteerAngle; frontLeftWheel.transform.localEulerAngles = new Vector3 (0, rotation,0); frontRightWheel.transform.localEulerAngles = new Vector3 (0, rotation, 0); hasWheelContact = false; } } DetectWheelCol: using UnityEngine; using System.Collections; public class DetectWheelCol : MonoBehaviour { private WheelCollider carWhell; private WheelHit hit; private bool isHit = false; // Use this for initialization void Start () { carWhell = this.collider as WheelCollider; } // Update is called once per frame void FixedUpdate () { isHit = carWhell.GetGroundHit (out hit); if(isHit) this.transform.parent.SendMessage("HasContact"); } } Muchas gracias He de añadir que este script no es mío.
  9. Woow muchas gracias,y por si quieres saberlo al final lo consegui!
  10. Hmm de acuerdo muchas gracias. Edito: Me aparece un error en el que dice:"Assets/SCRIPTS/FUNCIONA MOVIMIENTO BIEN.js(4,21): UCE0001: ';' expected. Insert a semicolon at the end.". Estoy intentando aprender JavaScript y este error me ha dejado un poco confuso. Estees el código: #pragma strict //var controler : ThirdPersonController; var teclado:AnimationClip; ThirdPersonContoller = controler; function Start(){ controler = GetComponent ("ThirdPersonController"); } function Update () { if(Input.GetKey(KeyCode.Mouse0)) { controler.enable = false; animation.Play("Attack"); } if(Input.GetKey(KeyCode.Mouse1)) { animation.Play("SecondAttack"); } }
  11. Hola,soy nuevo en Unity3D y tengo una pequeña duda.¿Cómo podría activar componentes de otros objetos con scripts? Lo digo porque tengo un personaje en el cual quiero que al presionar click izquierdo ejecute una sola vez una animación y desactive un thirdperson controler. Basicamente y como aclaración estoy intentando hacer mi propio sistema de combate melee y esto es lo que me falta. ¿Alguna idea,algún componente? Muchas Gracias
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...