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 - MatiasBoyer

#1
@juanma_teso
 
Intenté de las 2 maneras pero me pasa lo mismo, solo que me dice esto desde EL CLIENTE:
 



   
      Spawn scene object not found for 1
      UnityEngine.Networking.NetworkIdentity:UNetStaticUpdate()
   

[/quote]
 
Y este es el código:
 

       if (SceneManager.GetActiveScene().buildIndex != )
        {
            sObj = true;
        }
        if (sObj && isServer && JUGADOR_CLIENTE != null)
        {
            NetworkServer.SpawnObjects();
            GameObject[] OBJ = GameObject.FindGameObjectsWithTag("sceneObj");
            for (int i = ; i < OBJ.Length; i++)
            {
                //NetworkServer.Spawn(OBJ);
                NetworkServer.SpawnWithClientAuthority(OBJ[i], JUGADOR_CLIENTE);
            }
            sObj = false;
        }
        if(isServer)
        {
            JUGADOR_CLIENTE = GameObject.Find("JUGADOR_Cliente");
        }

 
 
#2
Hola a todos,
 
Tengo este error a spawnear objetos en unet usando NetworkServer.SpawnObjects(); , los objetos se spawnean del lado HOST pero en el CLIENTE no aparece nada, solo aparece el siguiente error:
 
Spawn scene object not found for 1
 
Alguien que sepa como solucionarlo porfavor?
 
Gracias.
#3
General (Antiguo) / Sincronizar readyToBegin
Febrero 29, 2016, 09:32:51 PM
Hola,
Ayer estuve trabajando con eso y tenia el mismo problema que tienes ahora.
Lo que tienes que hacer es hacer un jugador con el NetworkLobbyPlayer, y que cada vez que se presione un boton se envie cualquiera de estas dos funciones:
SendReadyToBeginMessage(); //para cuando estamos listos para empezar
SendNotReadyToBeginMessage(); //para cuando no estamos listos


//En mi caso mi script fue asi.

//Esta es la función que va a ir en el botón
public void ImReady(){
    //Si el bool 'Ready' es false, se volverá true y enviará que estamos listos.
   if (!Ready) {
      SendReadyToBeginMessage ();
      Ready = true;
   } else {
       //Si el bool 'Ready' es true, se volverá false y enviará que NO estamos listos
      SendNotReadyToBeginMessage ();
      Ready = false;
   }
}
 
#4
General (Antiguo) / Esperar a que animator termine
Julio 25, 2015, 12:47:42 AM
Hola a todos,
Tengo un problema en uno de mis scripts ya que no entiendo lo que me dice el propio Unity.Quiero obtener el tiempo que tarda una animación en terminarse, y al obtenerlo hago un yield WaitForSeconds(TiempoAnim) y me da esto: Assets/_importado/_script/doAnim.js(19,26): BCE0048: Type 'UnityEngine.Animator' does not support slicing. Mi script:
#pragma strict
var NAlea : int;
var Pato : GameObject;
private var anim : Animator;

function Start(){
        anim = Pato.GetComponent.<Animator>();
        Empezar();
}

function Empezar() {
    //Obtener numero aleatorio para la animacion
    NAlea = Random.Range(0, 5);
    Debug.Log("El numero aleatorio para la animacion es " + NAlea);
}

function Update() {
    NAlea.ToString();
    //reproducimos la animacion
    anim.Play("" + NAlea);
    //intentamos obtener el tiempo de la animacion
    var TiempoAnim = anim[NAlea].length;
    //esperamos el TiempoAnim
    yield WaitForSeconds(TiempoAnim);
    Debug.Log("Termine");
}
Gracias a todos por su paciencia ^^
#5
General (Antiguo) / Script enemigo BÁSICO
Julio 23, 2015, 01:47:23 AM
[quote author=GSG3D" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15774" data-ipsquote-contentcommentid="100612">Si el actuador se inicia cuando el jugador esta cerca solo es necesario esto...
if(Vector3.Distance(transform.position, Jugador.position) < DistanciaMax) //Cuando esta dentro del rango
O DistanciaMin segun tu logicaY luego utilza....siguiendo lo mismo.
transform.LookAt(Jugador); //"miramos" hacia el objetivo.Traslate(Vector3.forward * VelocidadEnemigo * Time.deltaTime); //nos movemos
El codigo es muy basico, y funciona en determinados casos, pero para empezar bastara.[/quote]Aún así sigo teniendo un problema, que es que estando lejos del cubo (por ahora es un cubo) se mueve muy lentamente y al acercarnos se acelera.

Te dejo un gif que acabo de grabar en mi pc.https://i.imgur.com/rmpo1vb.gif
#6
Es porque estás usando el Cursor.lockState de mala manera.
http://docs.unity3d.com/ScriptReference/Cursor-lockState.html" rel="external nofollow">http://docs.unity3d.com/ScriptReference/Cursor-lockState.html

Según lo que entiendo, con Cursor.visible ya basta
#7
General (Antiguo) / Script enemigo BÁSICO
Julio 23, 2015, 01:02:29 AM
Hola a todos,
Soy nuevo en esto del scripting y estaba probando hacer un script enemigo al que, al estar más cerca de el nos empiece a ***guir.Pero hay un problema, al estar lejos de él, se va acercando muy lento, y al irnos acercando aumenta su velocidad.El script está escrito en JS y quizá tenga horrores en él pero almenos lo intente :s
#pragma strict
var Jugador: Transform;
var VelocidadEnemigo = 4;
var DistanciaMin = 5;
var DistanciaMax = 10;

function Update(){
  transform.LookAt(Jugador);
    if(Vector3.Distance(transform.position, Jugador.position) <= DistanciaMin){
      transform.position + transform.forward * 0;
    } else
      if(Vector3.Distance(transform.position, Jugador.position) >= DistanciaMin){
        transform.position + transform.forward * VelocidadEnemigo*Time.deltaTime;
  }
}
 Gracias a todos.
#8
General (Antiguo) / JS Camaras multiplayer
Julio 05, 2015, 07:39:32 PM
Hola gente,
tengo un problema con esto, recién acabo de crear un script para conectarse a otra persona y que cuando el host elija nivel se cargue ese nivel, etc etc.
La cosa es que no sé como poder crear el spawn, ya que segui varias cosas que vi en internet y todas me da el mismo error.
 
Cuando mi jugador spawnea en el campo de juego, no se crea la camara para tal jugador y no sé como hacer para que se pueda crear la camara.
 
Me ayudarian en esto porfavor?
Soy novato en esto y me cuesta Dx
 
Gracias!
#9
Hola a todos,

Quería hacer una pregunta ya que esto me está superando ya que soy nuevo en esto del unity script y es la primera vez que llego tan lejos programando en scripting Unity.

Tengo un problema con algo acá, la cosa es que (lo voy a intentar lo mas claro posible), por ejemplo, si yo disparo a un bloque, este bloque se vuelve de color ROJO/AZUL y se suma un punto. La cosa es que si yo le disparo más veces con el mismo color, se siguen sumando puntos, y yo quiero evitar eso.

Lo que yo quiero hacer es que si ya está coloreado del mismo color que le disparan, no se sumen más puntos, no se si me explico.

Les dejo el script:
(script que suma puntos)

#pragma strict
static var BLUteam = false;
static var REDteam = false;
function Start() {
var TeamPoints: TeamPoints = GetComponent(TeamPoints);
}
function OnCollisionEnter (col : Collision) {
if(BLUteam == true && col.gameObject) {
GetComponent.<Renderer>().material.color = Color.blue;
TeamPoints.BLUpoints+=1;
} else {
if(REDteam == true && col.gameObject) {
GetComponent.<Renderer>().material.color = Color.red;
TeamPoints.REDpoints+=1;
}
}
}

La cosa, es que necesito ayuda haciendo que, si el bloque ya está coloreado de un color, se evite sumar más puntos a menos que esté coloreado del color del otro equipo.
 
Gracias a todos.