Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ramunda

#331
General (Antiguo) / Colisiones de balas sin motivo
Junio 19, 2015, 01:42:59 AM
Hola muy buenas , una pregunta , a alguien le ha pasado que segun trozos de mapa/terrain es como si hubiese una pared invisible que te hace colisionar las  balas sin haber nada alli? , me esta volviendo loco este tema y no entiendo por que, he mirado todo lo posible con el terrain he bajado la velocidad de las balas ...en fin todo lo que se me ha ocurrido pues aun asi hay trozos de el mapa que la metralleta va a todo gas y las balas chocan a un almo de el arma sin haber nada alli....supongo que sera un bug de unity ...pero lo peor es que he creado un nivel 2 y es por todo ese level que pasa lo mismo en el otro es a trozos.
 
Alguna idea?
 
Salvo proyecto y reinstalo unity??
 
Gracias
 
#332
Cita de: 0c0de date=1434571808 
vereis el problema que tengo es que no me reconoce bien las colisiones de un gameobject o sea de un cubo primero lo hice con un el box collider que lleva de serie el cubo pero no funcionaba le asigne un rigidbody y si me funciona pero no a la misma vez el problema es que me las detecta solo si le doy en las esquinas o en la parte de abajo si le doy en el centro no pasa nada bueno pongo el codigo para que me podais decir en que me he equivocado

using UnityEngine;
using System.Collections;
public class DanoBala : MonoBehaviour {
private float vida;
private float dano;
// Use this for initialization
void Start () {
   vida = 100;
   dano = 20;
}

// Update is called once per frame
void Update () {

}
void OnCollisionEnter(Collision colision){
   if(colision.collider.tag == "enemigo"){
      Debug.Log (vida -= dano);
      Debug.Log ("Hay Contacto");
   }
   else{
      Debug.Log ("No hay contacto");
   }
}
}

Buenos dias , has probado a poner  la pestaña is triger?? en el box colider me refiero,comentas que el cubo llevaba uno de serie, quilato asegúrate de que no queden 2 box coliders,  el rigid body si es un cubo lo unico que te va a dar son problemas( o no) pero no afecta realmente a la colision , asegúrate no obstante de que el rigid no lleva gravedad ni kinetic.
 
También se me ocurre si has dejado bastante espacio de box collider osea ensanchado el radio de el mismo y no haberlo dejado pegado al cubo.
 
P.D, el cubo es un cubo asesino parece ser no?, le quita vida al enemigo cunado cocha con el.
 
Espero que sea algo de esto...es lo que se me ocurre asi de primeras que aun estoy sin el cafe .
 
Ya nos contaras . Suerte
#333
Cita de: leocub58 date=1434469504No es nada hombre, muchas suerte con tu juego.
 
Un solo detalle que es una tonteria pero ...cuando arranca el jugo de nuevo el personaje nace donde el checkpoint sin problema pero a 200 metros de caida libre jajaja se cae de el cielo un buen rato  es normal?
 
Gracias!!!
#334
Cita de: ramunda date=1434463898 
 
Slucionadoooooooooooooo era en player es verdad tenia x.x.x  que lerdo que soy....mil gracias!!!!!!!!!!!!! eres un genio de verdad gracias por la paciencia y por aportar.
 
Un saludo muy cordial!!
#335
Cita de: leocub58 date=1434463688 
Tienes los 3 puestos en gameObject.transform.position.x, cambia los dos ultimos por .y y .z
 
 
  1. gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointx");
  2. gameObject.transform.position.y = PlayerPrefs.GetFloat("Checkpointy");

  3. gameObject.transform.position.z = PlayerPrefs.GetFloat("Checkpointz");

 
#336
Cita de: leocub58 date=1434463323Tienes activado IsTrigger o solo desactivaste el box collider?
 
Tengo activado Box collider y el trigger(is Trigger)
#337
Cita de: leocub58 date=1434460755Usa el que más te guste, ami me gusta más javascript. Con start me refiero (en javascript ) function Start () {
Y sí, puede ser un objeto normal, pones el codigo de guardar posiciones en function OnTriggerEnter () {
 
Vale .. en algo la cague...cree como bien me has explicado estos dos scripts:
 
En el jugador:

#pragma strict
function Start () {
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointx");
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointy");
gameObject.transform.position.x = PlayerPrefs.GetFloat("Checkpointz");
}

En un cubo con trigger activado con un box collider. tiene que llamarse Checkpoint o algo?

#pragma strict
var TeleportEndposition : Transform;
function OnTriggerEnter ()
{
PlayerPrefs.SetFloat("Checkpointx", gameObject.transform.position.x);
PlayerPrefs.SetFloat("Checkpointy", gameObject.transform.position.y);
PlayerPrefs.SetFloat("Checkpointz", gameObject.transform.position.z);
}

Paso por el cubo lo atraviesa y arranco de nuevo el juego pero no se queda donde el cubo....que he echo mal? :PP , gracias por tu paciencia!!
#338
Cita de: leocub58 date=1434459935Es muy fácil, pon un script al jugador y en el Start pones
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointx");
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointy");
gameObject.transform.position.x = http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.GetFloat("Checkpointz");
 
y en el objeto que quieres hacer checkpoint le pones lo mismo pero con setfloat
 
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointx", gameObject.transform.position.x);
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointy", gameObject.transform.position.y);
http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html" rel="external nofollow">PlayerPrefs.SetFloat("Checkpointz", gameObject.transform.position.z);
 
Y así, cada vez que entres al juego te llevará al último checkpoint.
 
Eres un Genio Leocub58, pero como te he dicho soy un pobre aprendiz de brujo....me dices que le ponga un scrip al jugador hasta aqui ok...pero que tipo de script java? C#? , el Start supongo que te refieres a el inicio de dicho script...el objeto puede ser cualquier objeto normal un cubo por ej? graciasssssssssssssssssss
#339
Vale , buenas tardes, llevo rodando por el foro varias horas, y no saco nada en claro, playerprefasb ...y otras cosas que me suenan a chino mandarino ya que soy un pez en esto.
 
Lo único que pido es una ayudita, necesito que en un momento dado de el juego o escena con un collider objeto  o lo que sea me cree un checkpoint y se guarde el punto donde estaba y posteriormente poder cargarlo y seguir desde alli apretando una tecla o lo que sea.
 
No hace falta que sea ni gráfico ni completo solo que aga eso.
 
Alguien me puede echar un cable por favor?
 
gracias.
#340
Cita de: kaito date=1434395613Una pregunta topica en el foro, http://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html" rel="external nofollow">http://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
http://unityspain.com/index.php?app=core&module=search&do=search&fromMainBar=1
 
Gracias por la respuesta Kaito, el primer link que me pusistes carga bien , el segundo no:(
 
He aplicado lo de el primer link al trigger enter y si se va a nivel 1 pero ni se mueve ni lleva el arma ni tiene los marcadores de vida ni de balas ni nada de nada se queda clavado en el terrain sin mas...que no he echo bien? ayuda por favorrr
 
 
aqui el script aver si me puedes decir donde la he liado


#pragma strict
 function OnTriggerEnter() {
  Application.LoadLevel ("nivel1");
 }
 function Awake () {
DontDestroyOnLoad (transform.gameObject);
}
 
 
 
SOLUCIONADO.....de una manera poquísimo ortodoxa pero lo que he echo es guardar un gameobject de todo lo que necesito, guis , armas personaje etc...y lo he cargado en la nueva escena.....y de momento me salvo con esto  muchas gracias a todos!!!!
#341
Muchas gracias por la pronta respuesta a los 2, he estado mirando en recursos como me comento shinokace y lo que he encontrado de Mantis es esto:
 
He estado viento algunos post donde se habla de este tema y voy a aportar la manera más sencilla que he encontrado de pasar variables entre escenas. 

Simplemente tenemos que crearnos un script donde vamos a guardar las variables a las que nos interesa acceder y ya está. Madre mía que fácil es esto!. :whistle: 

El script: Variables.js
//Ponemos las variables que queramos
static var NumeroVidas : int;
No hay que crear ningún objeto vacio ni nada para agregarle el script. El script lo dejas en una carpeta quietecito.

Ahora desde cualquier Escena del juego podemos modificar y acceder a este script y a sus variables ya que son static.

Variables.NumeroVidas;
Saludos.. 
 
Es a lo que te referias? porque no encuentro nada mas
 
Y si....creo otra zona en el mismo nivel pero separada oculta por alli xdd  y que se teletransporte alli?, eso deberia llevarselo todo no?
#342
Hola muy buenas , empiezo a tener algo ...razonable y jugarle y se me ocurrio seguir adelante cone ello, asi que pense en crear mas niveles...
 
Hasta aquí ok un collider con un loadlevel y listo ..eso pensaba...mi personaje lleva encima metralleta, contadores , balas..una linterna etc...
 
Y cuando paso al siguiente nivel....plofff esta en pelotas sin marcadores , ni balas ni vida nisiquiera esta el monigote en si!!
 
Alguna idea de como llevármelo todo al otro nivel?
 
Graciassss
 
Por cierto este es el triste script que tengo en un "cube" que me lleva al nivel 1

#pragma strict
function OnTriggerEnter ()
{
Application.LoadLevel ("nivel1");
}
#343
Cita de: DavidV date=1434322815Sí es que aparezca en cualquier parte del bosque o área podrías probar con este.

if(currentHealth <= 0){
transform.position = new Vector3(Random.Range(-10.0f, 10.0f), 0, Random.Range(-10.0f, 10.0f));
currentHealth = 100;
   }

El personaje va a aparecer en una posición entre -10.0 y 10.0 en el Eje de las X y las Z.
 
Puede Aumentar el número para que la zona en donde aparezca sea más amplia. 
 
Un 10 para ti de nuevo...que envidia me das, sana eso si pero envidia me tire 4 dias con esto del random y solo consegui aspirinas...bien funciona!!, pero hay un handicap xd la isal en si...esta rodeada de agua y ...la mayoria de veces aparece en el agua...y claro...se jodio XD pregunto sirve de algo que te diga las dimensiones de el terrain? alli todo es suelo se podrian mas o menos calcular desde eso?? entiendo lo de el 10.0 y menos 10 eso lo veo claro pero estaria guay que apareciera en cualquier parte de todo el terrain...el terrain tiene 2000 x 2000 no se si sirve para nada.Pero GRACIAS  de antemano de verdad! el mundo necesita gente como tu amigo!!
 
#344
Cita de: DavidV date=1434305962

f(Input.GetButton("Fire1")){
AudioSource.PlayClipAtPoint(gunShot, transform.position, 1);
  if (municion > 0 && municiontotal >= 0){
 
 
  var clona = Instantiate(Bala, transform.position, transform.rotation);
 

Prueba poniendo el "AudioSource.PlayClipAtPoint(gunShot, transform.position, 1);" debajo del 
if (municion > 0 && municiontotal >= 0)
 
Siempre he dicho...ser un Genio no es un titulo es tener cabeza!! y tu tienes las dos cosas , funciona perfectamente tal y como dijiste!!, muchas muchas gracias por la prestura y por la amabilidad y tiempo invertido en mi pobre conocimiento.
 
Me arriesgo a pedirte una cosa mas!!, mi personaje la palma sisisi hahahah,  y esta perdido por el bosque y me gustaria que cuando muriera respawneara en algun lugar de este bosque aleatorio...he probado varias cosas y sin exito...se te ocurre algo?
 
Aquí

if(currentHealth <= 0){
         player.transform.position = new Vector3(6,1,4);
         currentHealth = 100;
      } 

se que hay algo de un ramdom pero no consigo atinarlo
 
 
el fragmento de JS que la palma y las coordenadas que le especifique ya que de momento no tengo otra cosa
#345
Cita de: DavidV date=1434244294Crea 3 Empty y añadele a cada uno un audio (Uno que contenga el de disparo, otro el recarga e.t.c) al añadirselo en el inspector donde dice Audio Source desactiva el "Play on Awake" 

public AudioSource Disparo;  
 public AudioSource Recargando;
 public AudioSource Sincarga;
if( precciono tecla de disparo)
Disparo.Play()
 
if(precciono tecla recargar)
Recargando.Play()
if (bala == 0)
Sincarga.Play()

En el inspector a cada variable añadele el Empty correspondiente. 
Estimado David..la cosa esta semi arreglada añadiendo los 3 vars gunshot, recarga y vacio , cuando dispara suena bien, si recarga suena bien, pero el problemilla esta al quedarse sin balas...suena el de no tener balas pero tambien suena el de disparo normal? donde esta el fallo? te dejo el script corregido aver si me puedes dar luz a esto graciasss


var Bala : Rigidbody;
var Velocidad = 20;
static var municion : int = 100;
var municiontotal = 1000;
var guimuni : GUIText;
public var guitotal : GUIText;
var destello : GameObject;
var manoanim : GameObject;
var municionanim : GameObject;
var gunShot : AudioClip;
var recarga : AudioClip;
var vacio: AudioClip;
//var recarga : AudioClip;
//var gunShot : AudioSource;
 
//public  var Sonidodisparo : AudioClip;  
//public  var Sonidorecarga : AudioClip ; 
//public  var Sonidovacio : AudioClip ;  
 
 
function Start(){
destello.active = false;
}
 
function Update(){
 
guimuni.text = "Municion: " + municion.ToString();
guitotal.text = "Municion Total: " + municiontotal.ToString();
 
 
 
if(Input.GetButton("Fire1")){
AudioSource.PlayClipAtPoint(gunShot, transform.position, 1);
  if (municion > 0 && municiontotal >= 0){
 
   
   var clona = Instantiate(Bala, transform.position, transform.rotation);
clona.velocity = transform.TransformDirection(Vector3(0, 0, Velocidad));
    municion -= 1;
    Destroy (clona.gameObject, 1);
   
}
}
if(Input.GetKeyDown("r") && municiontotal > 0){
    
  municion = 0;
  AudioSource.PlayClipAtPoint(recarga, transform.position, 1);
  Invoke ("recargando",2);
 
}
 
if(Input.GetMouseButtonDown(0)){
destello.active = true;
}
else
if(Input.GetMouseButtonUp(0)){
destello.active = false;
}
if (municion <= 0){
if(Input.GetButton("Fire1")){
AudioSource.PlayClipAtPoint(vacio, transform.position, 1);}
destello.active = false;
 
}
}
function recargando (){
 
if(municiontotal > 0){
 
municiontotal -= 100;
municion +=100;
 
}
if (municion >100){
municion = 100; 
}
}