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

#271
Cita de: Howling Wolf date=1436297437Joder, si es una esfera normal hecha en unity y el proyecto te lo he pasado tal cual lo tengo yo.
 
Al final me hago minero macho jajaja
 
hahaha nooo no te tires a mineroooo que vales mucho maco , lo de la esfera mola pero te preguntaba si la animación la habias echo tu, he visto el proyecto y si cambia de estado y se anima.
 
Estoy intentando crear una animación para ver ....espera hahahhahah voy a coger tu pelota hahhahahahha voy a probar  
 
por cierto deberia de hacer sto de exportar todo el proyecto...por si se me casca o algo como lo has echo?
 
Uffffffffffff con la pelota es peorrrrrrrrrrrrr ni sale la pelota ni hace animación ni nada peor aun me lleva a unas coordenadas no deseadas!!! o dios mio me quiero morir!!!!
 
 
porque tiene que ser todo tan dificil!!!!!1
 
 
 :(
#272
Cita de: Howling Wolf date=1436295323Me di cuenta de que nada más empezar cambiabas la booleana muerto, pero no le hice mucho caso porque si te reproducia los sonidos.
 
Y sí, es en el array de animaciones donde tiene que aparecer, no en el default. Y dices que asignando bien el clip no te da ningun error y sigue sin reproducir la animacion? Joder como se hace de rogar, espero que el clip no esté vacío, sino te mato jajajajaja
 
Te he subido el proyecto para que lo pruebes tal cual está, ya por descartar, no se.
 
https://mega.nz/#!ss8wGToD!VDw0txJy4q3uOrjOf4fUNbcwEy0f4tJvK1DARXpadKs" rel="external nofollow">https://mega.nz/#!ss8wGToD!VDw0txJy4q3uOrjOf4fUNbcwEy0f4tJvK1DARXpadKs
 
Jur la pelotilla XDDDD muy bueno hahahhah ...la naimación la has echo tu no?, porque no se puede reproducir con un play ni nada xd me dice this model is not availiable for prevou tal y tal....
 
 
aix nose , tambien al poner los scripts donde muerto...los sonidos no se paran la animacion no funciona esto es frustrante...voy a provar de crear una animacion cualquiera aver si furula...
 
 
 
#273
Aver compi....he descubierto algo....no caimos en una cosa.Mira esto:

else
   {
      if(currentHealth <= 0 && !muerto ){
         muerto = true;
         GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
         GetComponent<FPSInputController>().enabled = false;
         GetComponent<CharacterController>().enabled = false;
      }
   }

Linea 46, si la vida es = a 0....&& !muerto....te lleva directamente al muerto!! , entonces se nos saltaba esta parte que le añadiamos....la he puesto aqui:

if(muerto){
      var anim = GetComponent<Animation>();
      anim.AddClip(Die,"die");
      anim.Play("die");
      Cursor.visible = true;
      tuUI.SetActive(true);
      if(Input.GetKeyDown(KeyCode.Space)){
         Respawn();
      }
   }

Ahora si añade la animación die en el animator....pero no el la general sino en la string 1, pero sigui sin verse la animacion!!!!!!!!! sale el text guy sale todo!!! pero no la jodia animacion_!!!!!!!!!
 
 
 
(((
#274
Cita de: Howling Wolf date=1436290848Eso mismo es lo que temía, ya que el error te decía textualmente que solo puedes llamar strings que han sido asociados previamente. Pero esto si que no tiene sentido ninguno, ya que si has escrito exactamente el código que te puse, que baje alguien y me diga porque a mi me funciona y a ti no.
 
Además es que no tiene misterio.
anim.AddClip/*Añade el clip de*/(die/*La animación de la variable die*/,"die"/*Que ahora tendrá como string "die"*/);
anim.Play("die");
 
Comprueba que no tengas un error de sintaxis, otra cosa no se me ocurre socio.
 
Te adjunto el fragmento de codigo y la foto de como lo tengo..exactamente como tu me has dicho lo unico que he probado es de cambian la animacion de "Humanoid" a legazy y ahora no sale el error, pero tampoco se asocia a el Animator , ni se ejecuta la animacion ((, tu como la tienes?

if(currentHealth <= 0 && !muerto ){
         muerto = true;
         GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
         GetComponent<FPSInputController>().enabled = false;
         GetComponent<CharacterController>().enabled = false;
         var anim = GetComponent<Animation>();
         anim.AddClip(die,"die");
         anim.Play("die");

y la de arriba

public AnimationClip die;

y todo el codigo por si acasooo

using UnityEngine;
using System.Collections;
public class PlayerInfo : MonoBehaviour {

public GameObject healthBottle;
public GameObject player;
public AudioClip deathClip;
public AudioClip deathClip2;
public float length;
public AnimationClip die;
int health = 100;
int damageCount = 0;
int currentHealth;
bool playerFighting;
public GUIText healthbar;
float timer = 0.0f;
float healthTimer = 0.0f;
bool healthShouldRespawn = false;

public bool muerto = false;
public GameObject tuUI;

void Start () {
   currentHealth = health;
   tuUI.SetActive(false);
   }

void Update () {
   Cursor.visible = false;
   print("player in combat? " + playerFighting);
   if(!playerFighting){
      print("player is not fighting");
      if(currentHealth != 100){
         timer += Time.deltaTime;
         print ("timer: " + timer);
         if(timer > 90.0f){
            currentHealth += 10;
            timer = 0.0f;
         }
      }
   }
   else
   {
      if(currentHealth <= 0 && !muerto ){
         muerto = true;
         GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
         GetComponent<FPSInputController>().enabled = false;
         GetComponent<CharacterController>().enabled = false;
         var anim = GetComponent<Animation>();
         anim.AddClip(die,"die");
         anim.Play("die");
         
      }
   }
   healthbar.text = "Vida " + currentHealth + " / 100";
   
   if(healthShouldRespawn)
   {
      healthTimer += Time.deltaTime;
      
      if(healthTimer > 5.0f)
      {
         healthBottle.gameObject.SetActive(true);
         healthTimer = 0.0f;
      }
   }
   
   if(muerto){
      Cursor.visible = true;
      tuUI.SetActive(true);
      if(Input.GetKeyDown(KeyCode.Space)){
         Respawn();
      }
   }
   
}

public void ApplyDamage(int damage){
   damageCount = damageCount + damage;
   if(damageCount == 100){
      if(currentHealth < 0){
         currentHealth = 0;
      }
      currentHealth = currentHealth - 30;
      GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
      healthbar.text = "Health " + currentHealth + " / 100";
      damageCount = 0;
   }
   
   print(currentHealth);
}

public void playerInCombat(int combat){
   if(combat == 1){
      playerFighting = true;
   }
   else
   {
      playerFighting = false;
   }
}

public void Respawn(){
   tuUI.SetActive(false);
   muerto = false;
   transform.position = new Vector3(Random.Range(50.0f, 120.0f), 0, Random.Range(10.0f, 200.0f));
   GetComponent<FPSInputController>().enabled = true;
   GetComponent<CharacterController>().enabled = true;
   ///GetComponent<disparosyrecargos>().enabled = true;
   ////GetComponent<MouseLook>().enabled = true;
   currentHealth = 100;
}

void OnTriggerEnter(Collider item){
   if(item.gameObject.tag == "PlayerHealthBottle")
   {
      if(currentHealth < 100)
      {
         currentHealth = currentHealth + 50;
         item.gameObject.SetActive(false);
         healthShouldRespawn = true;
      }
   }
}
}

y la foto de la animaCion!!!
#275
Cita de: Howling Wolf date=1436288007Ese es uno de los errores que me daba cuando estaba probando y, aunque no recuerdo exactamente cuando me lo dio si que detecto que mezclaste dos cosas. Para este último experimento no tienes que asociar el clip al default del Animation, solamente tienes que meter el clip en la variable die.
 
Hagamos una cosa, que es como fui haciéndolo yo. Comenta la última linea y comprueba que al iniciar la aplicacion se asocia correctamente el clip justo debajo del default del Animation.
 
Creo que te he entendido , he quitado la "default" de Animation, ahora esta en None, e puesto la die animación en la variable die, he arrancad el game en ventanica para ver el inspector y no no se asocia a el animator, creo que era esa la prueba no?
 
Gracias de antemano, sigo esperando mas ideas
#276
Cita de: Howling Wolf date=1436286882Vale no era muy complicado
 
Variable de clase

public AnimationClip die;

Y en update

var anim = GetComponent<Animation>();
anim.AddClip(die,"die");
anim.Play("die");

De nuevo me funciona con este script de C#
Madre mia ...que envidia mas sana me das..juer que maquina...me encantaria celebrarlo..pero no funca...
 
The animation state die could not be pla*** because it couldn't be found!
Please attach an animation clip with the name 'die' or call this function only for existing animations.
UnityEngine.Animation:Play(String)
 
Cuando llama a la animación no la encuentra y tengo el Animation com me digistes solo con la principal...
 
Cre que busca el String osea la 1 la 2 o algo asi..puede ser?
#277
Cita de: Howling Wolf date=1436286279A ver si puedo yo, pero esto si que dudo que lo consiga, porque se me da fatal C#
 
La primera parte esta clara:
 
Esto es esto:
 
public AnimationClip Die;
#278
Cita de: Howling Wolf date=1436281615Vale ya lo he conseguido, que poco intuitivo lo han puesto, te explico...
 
En primer lugar te digo que está en javascript, lo siento pero es mi lenguaje, así que tendrás que traducir un poco xD
 
Ok, una variable de clase

public var die : AnimationClip;

Y a continuación tu código del Update

 if(currentHealth <= 0 && !muerto ){
muerto = true;
GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
GetComponent<FPSInputController>().enabled = false;
GetComponent<CharacterController>().enabled = false;
var anim = GetComponent.<Animation>();
anim.AddClip(die, "die");
anim.Play("die");
  }

Primero tienes que añadir la animación (el clip, no el gameObject) a la variable die en el inspector.
Y segundo lo que más me ha costado. Seleccionas el clip para que aparezca en el inspector, haces clic derecho a la propia pestaña de inspector y seleccionas Debug. Así se extienden las propiedades y puedes seleccionar Legacy.
 
Así a mi me funciona y puedes añadir tantas animaciones como quieras con AddClip.
 
Prueba y me comentas.
 
EDITO: Cuando te funcione lo mejor que es añadas los clips en la funcion Start, así ya estarán precargados.
 
Pues la hemos liado...
#279
Cita de: Howling Wolf date=1436279229Ando rebuscando info, ya que tarde o temprano tenia que actualizarme a unity 5 y me has picado jajaja.
 
Por lo que he leido hasta ahora parece que ha cambiado como imaginaba, cada vez lo complican más xD
 
Voy a ver si doy con la forma de hacerlo funcionar.
 
Asi esss esto del unity 5 me lleva de cabeza hahahha yo estoy tambien buscado aver que demonios.....gracias por tu tiempoo espero que lo encuentres porque yo...no tengo suerte
#280
Cita de: Howling Wolf date=1436275565Para comenzar veo esto...

 if(currentHealth <= 0 && !muerto ){
muerto = true;
GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
 GetComponent<FPSInputController>().enabled = false;
GetComponent<CharacterController>().enabled = false;
 //anim = GetComponent<Animator>();
anim.Play("die");

Intentas iniciar directamente la variable anim, pero no le has dicho con que componente.
 
Por otro lado si funciona como en unity 4 animation.Play ejecuta la animación que esté en ese momento por defecto, no una añadida a una variable Animation
 

Bien siguiendo tus instrucciones:
 
tenemos esto:
 
como puedes ver en la foto esta solo el principal como me has comentado....y como puedes ver dice que n lo encuantra nose porque...
 
 
este es el codigo midificado llamando al componente:

else
   {
      if(currentHealth <= 0 && !muerto ){
         muerto = true;
         GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
         GetComponent<FPSInputController>().enabled = false;
         GetComponent<CharacterController>().enabled = false;
         GetComponent<Animation>().Play("die");
      }

No lo entiendo algo se nis escapa....
#281
Cita de: Howling Wolf date=1436273396No no, me refiero a usar el componente Animation en vez del Animator, son componentes totalmente distintos.
 
http://docs.unity3d.com/ScriptReference/Animation.html" rel="external nofollow">http://docs.unity3d.com/ScriptReference/Animation.html
 
Según recuerdo, cuando lo usé en unity 4 se usaba de forma muy similar al AudioSource, asignando primero la animación por defecto y después darle play al componente. Pero también puedo estar liandote y que ya no se haga así en unity 5 jaja.
 
La madre del amor hermoso....esto es increible porque no funcionaaaaaaaaaa XDDD , aver repasemos juas.
 
 
Repongo el codigo.

using UnityEngine;
using System.Collections;
public class PlayerInfo : MonoBehaviour {

public GameObject healthBottle;
public GameObject player;
public AudioClip deathClip;
public AudioClip deathClip2;
public float length;
public Animation anim;
int health = 100;
int damageCount = 0;
int currentHealth;
bool playerFighting;
public GUIText healthbar;
float timer = 0.0f;
float healthTimer = 0.0f;
bool healthShouldRespawn = false;

public bool muerto = false;
public GameObject tuUI;

void Start () {
   currentHealth = health;
   tuUI.SetActive(false);
}

void Update () {
   Cursor.visible = false;
   print("player in combat? " + playerFighting);
   if(!playerFighting){
      print("player is not fighting");
      if(currentHealth != 100){
         timer += Time.deltaTime;
         print ("timer: " + timer);
         if(timer > 90.0f){
            currentHealth += 10;
            timer = 0.0f;
         }
      }
   }
   else
   {
      if(currentHealth <= 0 && !muerto ){
         muerto = true;
         GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
         GetComponent<FPSInputController>().enabled = false;
         GetComponent<CharacterController>().enabled = false;
         //anim = GetComponent<Animator>();
         anim.Play("die");
      }
   }
   healthbar.text = "Vida " + currentHealth + " / 100";
   
   if(healthShouldRespawn)
   {
      healthTimer += Time.deltaTime;
      
      if(healthTimer > 5.0f)
      {
         healthBottle.gameObject.SetActive(true);
         healthTimer = 0.0f;
      }
   }
   
   if(muerto){
      Cursor.visible = true;
      tuUI.SetActive(true);
      if(Input.GetKeyDown(KeyCode.Space)){
         Respawn();
      }
   }
   
}

public void ApplyDamage(int damage){
   damageCount = damageCount + damage;
   if(damageCount == 100){
      if(currentHealth < 0){
         currentHealth = 0;
      }
      currentHealth = currentHealth - 30;
      GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
      healthbar.text = "Health " + currentHealth + " / 100";
      damageCount = 0;
   }
   
   print(currentHealth);
}

public void playerInCombat(int combat){
   if(combat == 1){
      playerFighting = true;
   }
   else
   {
      playerFighting = false;
   }
}

public void Respawn(){
   tuUI.SetActive(false);
   muerto = false;
   transform.position = new Vector3(Random.Range(50.0f, 120.0f), 0, Random.Range(10.0f, 200.0f));
   GetComponent<FPSInputController>().enabled = true;
   GetComponent<CharacterController>().enabled = true;
   ///GetComponent<disparosyrecargos>().enabled = true;
   ////GetComponent<MouseLook>().enabled = true;
   currentHealth = 100;
}

void OnTriggerEnter(Collider item){
   if(item.gameObject.tag == "PlayerHealthBottle")
   {
      if(currentHealth < 100)
      {
         currentHealth = currentHealth + 50;
         item.gameObject.SetActive(false);
         healthShouldRespawn = true;
      }
   }
}
}

Linea 11, objeto publico Animation el cual me pide en un recuadrito una animación la cual tengo metida en un gameobject que es la de "die". y me deja agregarla.
 
linea 52: 
 
le digo que me anime la anim(previamente puesta en linea 11 y puesta en su casillita como animación...), no da errores pero para variar no funciona hahhahah
 
mmmm voy a provar a cambiar el nombre de la animación por el string1....aver que pasa....
 
Y...........no paso nada igual resultado hahhahah estoy desesperado, nadie a montado una animación en c# al morir su personaje? alguien tiene que haberlo echo antes!!! socorroooo
#282
Cita de: Howling Wolf date=1436268110Con mucho riesgo a estar equivocado creo que no lo estas llamando bien al tratarse de un componente Animator, para llamarlo de esta forma está el componente Animation que como verás es muy similar al AudioSource, por lo que para usarlo basta con asignar la animación (previamente incluida en el array de animaciones) y posteriormente ejecutándola.
 
 
Estoy de acuerdo Wolf , como has visto en las imagenes ya meti la animación en el array como dices y esta creado el controler como dijo Jose, he puesto el animator y dentro el controller con la animación die.
 
Hasta aqui sin herrores pero sin funcionar....que idea podrias darme para llamarlo correctamente se te ocurre algo?, o mejor lo probamos con animator? funcionaria tambien? me refiero llamando a una animacíon o algo asi esque nose no paro de probar cosas y no funciona de nunguna manera es desesperante...aver si porfavor se te ocurre algo lo que sea que yo lo pruebo encantado
 
Espero noticias y gracias de nuevo.
 
P.d: he probado a crear un public Gameobject animame:
 
Asi me pide un gameobject que es un empty con la animación dentro....
 
Luego le he dicho:
 
animame.animation.Play("die"); pero me da error en el comando Play no le gusta....
 
 
(
#283
Cita de: Howling Wolf date=1436263659Bueno también hay otra forma de hacer funcionar las animaciones y en principio es la mejor, aunque nunca me puse a trastearlo.
 
Se trata de ajustar los condicionales en el propio animator, indicándole que si tal variable pasa a ser x que haga una transición a otra animación, con esta técnica consigues que no hayan cambios bruscos al cambiar de animación aun cuando la primera no se terminó.
 
Siento no poder darte datos más concretos de como hacerlo, ya que lei acerca de ello hace un tiempo pero no lo puse nunca en práctica. De todas formas te lo comentaba por si conseguía abrirte otra puerta de investigación.
 
Un saludo
Y te lo agradezco deveras Wolf, por supuesto que indagare, pero me gustaría entender o comprender el porque no funciona el sistema anteriormente mencionado.
 
Teoricamente he seguido los pasos tal y como se comento, pero la animación no se da a lugar y no lo entiendo....aver si me podéis dar una explicacion del porque.
 
Mil gracias de antemano y un abrazo a todos!!!
#284
Cita de: ramunda date=1436222174Me perdido Jose, mas que una rana en la plaza cibeles, añado un Animator...hasta aqui ok....creo un AnimatorControler?....eso de donde lo saco tento un controler por ai echo de nose que...pero que meto en el primer Animator?, entindo que pide un controller...pero de eso a crear un controller a partir de la animación die...wops , soy lerdo total.
 
Voy a trastear aver si que lio esta vez..
 
Vale...ves la labor que estais haciendo no solo aprendo sino que me estrujo el cerebro de mosquito que tengo XD ,ok  encontre com crear un Animatorcontroller....lo edite le meti la animación die dentro...lo guarde...cree un Animator meti el controller con la animación dentro.....probe y no funciona....no da error no pero no arranca la animación...solo veo un detalle que en avatar de el animator...no hay nada....pero creo que no es muy relevante solo se crea el avatar cuando hacer el rigueo y todo eso...
 
 
Buenooo , necesito mas ideas
 
Adjunto los pasos en fotillo ...aver que he echo mal....

if(currentHealth <= 0 && !muerto ){
         muerto = true;
         GetComponent<AudioSource>().PlayOneShot(deathClip);length =7f;
         GetComponent<FPSInputController>().enabled = false;
         GetComponent<CharacterController>().enabled = false;
         Animator anim = GetComponent<Animator>();
         anim.Play("die");
      }
#285
Cita de: Jose134 date=1436216194Tienes que añadir animator y crear un AnimatorController y ahi ya pones la animaciones
 
Me perdido Jose, mas que una rana en la plaza cibeles, añado un Animator...hasta aqui ok....creo un AnimatorControler?....eso de donde lo saco tento un controler por ai echo de nose que...pero que meto en el primer Animator?, entindo que pide un controller...pero de eso a crear un controller a partir de la animación die...wops , soy lerdo total.
 
Voy a trastear aver si que lio esta vez..