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ú

Temas - ecko

#1
General (Antiguo) / Cliente/Servidor mas eficiente
Diciembre 09, 2018, 11:41:26 AM
Buenas a todos, quería aclarar el tema cliente servidor para ver que pros y contras tiene hacer los cálculos de las rutas de navmesh en el servidor o en el cliente.
 
En mi caso estoy calculando las rutas en el servidor ya que de este modo pienso que es la forma mas segura de evitar futuros bugs (el cliente aumente su velocidad de movimiento, evite colisiones,etc) pero no sé si esto implica una sobrecarga en mi servidor... (esto sería un tema a aclarar si las rutas implican mucha sobrecarga :S)
 
Pensé un día en cambiarlo al cliente dichos cálculos pero no me gustó la idea ya que esto implica que el networkidentity tenga la marca localplayerauthority lo cual jode todo mi sistema ya que ahora todo lo controlaría el cliente (movimiento, ataques,hechizos,etc) y aparte si el cliente mueve el personaje a un lugar del mapa con el sistema AI de navmeshagent y mientras esta andando hasta el punto final minimiza el juego,  el personaje se queda parado hasta que vuelva a maximizar el juego... lo cual me decanté por dejarlo en el servidor dicho control.
 
Agradecería mucho las opiniones de usuarios expertos en servidores clientes, muchas gracias.
#2
General (Antiguo) / navmesh esquivar jugadores
Agosto 25, 2018, 04:36:04 PM
Hola a tod@s, estoy usando navegación navmesh y la verdad me funciona todo bien salvo un detalle importante... resulta que si tengo varios jugadores navegando por el mapa y un jugadorA se interpone en el camino de otro jugadorB (JugadorB esta recorriendo una ruta) este comienza a empujar al jugadorA.
 
Necesito que no empuje sino que lo esquive, entonces me pregunto debo de alguna manera anular el empuje al rigiboddy (si es así como? ya que mass no puede ser 0 :S)? o debo agregar un navmeshobstacle? (si es así que propiedades debo poner ya que lo he probado y me vuelve loco los personajes moviendolos solos y de un punto a otro punto como teletransportandolos :S) las propiedades que he usado para esto son : carve=T, Move Threshold = 0.1, Time to Stactonary=0, CarveOnlyStation=false
#3
General (Antiguo) / Lobbye Multiples Games
Abril 04, 2018, 12:52:55 PM
Hola gente, quería comentar una duda acerca de la networkLobby, mi duda es si se puede hacer un sistema estilo moba el cual es un servidor al cual conectan todos los usuarios y este tenga una opción de buscar partida la cual se encargue de gestionar las nuevas partidas (5vs5), según veo como funciona sólo es posible crear una partida a la cual se unan todos los que esten listos pero no veo que se puedan gestionar multiples partidas, es decir si ya se ha creado una partida y hay usuarios conectados al servidor solicitando una nueva partida que el servidor cree otra partida además de la anterior y así simultaneamente,es esto posible? y hay algún tutorial ya que no encuentro nada hacerca de esto, gracias de antemano :).
#4
General (Antiguo) / Problema con Sombras y Raycast
Marzo 22, 2018, 06:55:52 PM
Buenas a tod@s, tengo un par de dudas que no consigo dar con la tecla y bueno agradecería una ayudita :) una de ellas y mas simple es por que me pone sombras en un skinnedmeshrender, este skinnedmeshrender se ilumina con una luz externa (light directional) y tiene las propiedades  castshadows y light probes desactivadas pero sin embargo siguen saliendo sombras.
 
Por otro lado estoy tratando de realizar un movimiento mediante un minimapa el cual es una imagen de tipo Render Texture (imagen proyectada por una cámara) y esta imagen la asocio a una rawimage de la ui pero resulta que al hacer click sobre esta imagen el raycast no detecta la ui y en la propia ui tengo activada la opción Raycasttarget pero nada se ve que el rayo atraviesa la ui y me detecta lo de atrás, el código es el siguiente:         
 

   if (Input.GetKey(KeyCode.Mouse1)){             
                    var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                    if (Physics.Raycast(ray, hit,100)){
                        Debug.Log(hit.transform.gameObject.name + hit.transform.gameObject.layer); 
                        if (hit.collider.gameObject.layer == 16){ // este layer se lo he asignado a la rawimagen del minimapa (sólo tiene este layer la imagen esta)
                            ray = camaraMapa.ViewportPointToRay(new Vector3(hit.textureCoord));
                            if (Physics.Raycast(ray, hit)){                          
                               vPosicion=hit.point;                                   
                            }
                        }
                        else{
                            vPosicion=hit.point;    
                        }
         }

 
 
#5
Hola a tod@s, quisiera saber si es posible obtener el destino mas cercano transitable de un navmes, es decir, tengo un mapa con árboles y muros y a estos árboles y muros le he asociado el componente navmeshobstacle con la opción carve activada lo cual crea un hueco no transitable en la navegación del navmesh, hasta quí todo esta genial ya que cuando pulso con el ratón un click le asigno al navmeshagent.destination la nueva posicion de destino y si hay obstaculos por medio de su destino los evita rodeandolos y tal, pero el problema esta cuando hago click sobre un obstaculo (ej un árbol) mi jugador ni siquiera se mueve ya que internamente detecta que es una zona no valida de navegación pero claro yo quiero que mi agente navegue hasta la posición navegable más próxima de este obstaculo.
 
Hay alguna forma de saber la posición mas cercana al obstaculo para asignarle al navmeshagent.destination esa posición válida?
#6
General (Antiguo) / Cambiar material
Marzo 10, 2018, 02:02:43 AM
Buenas, me gustaría saber cual es la forma correcta para hacer lo siguiente:

Tengo una mapa con muchos objetos 3d y cada objeto tiene su material agregado pero tengo la posibilidad de ponerle otro material para que sea de otro aspecto (material normal y material invierno) lo cual pienso que necesito crearme 2 scenas iguales con la diferencia que un mapa tenga los objetos con el material normal y otro mapa con el material nieve, de tal modo que cargo una escena u otra dependiendo del modo elejido.

Esto sería la forma correcta o hay alguna otra forma mejor? gracias.
#7
General (Antiguo) / Duda animación con mecanim
Enero 25, 2018, 05:13:34 PM
Hola chic@s tengo una duda a ver si pueden aclararme un poco, he visto que hay una opción de mecanim para humanoid la cual veo que agiliza mucho el tema de animaciones ya que parece ser que puedes meter animaciones ya creadas por unity u otros usuarios ahorrandote de este modo crear las animaciones, pero tengo una duda.

Me pregunto si es posible animar un objeto externo junto con las animaciones del mecanim, os explico, tengo un personaje con mecanim y luego tengo un arma equipada la cual quiero animarla cuando el jugador esta realizando una animación de malabarismo por ejemplo y a la misma vez quiero animar el arma por ejemplo que la lance al aire y este arma de vueltas y luego caiga sobre su mano agarrandola de nuevo.

Como debería hacerlo?  imagino que debería de crear un hueso externo al del conjunto de huesos del personaje(Armature) pero se puede editar una animación de mekanim incluyendo este hueso externo?, gracias de antemano
#8
General (Antiguo) / Busco diseñador y animador
Enero 24, 2018, 06:56:45 PM
Buenas, busco diseñador 3D con altos conocimientos en animaciones ya que no dispongo de tanto tiempo para dedicarme al diseño y animación,al ser un nuevo proyecto tengo la necesidad de varios modelos como objetos de mapa(rocas,árboles,etc) , personajes, equipamiento,etc.

Pago por trabajo terminado.

Si alguien esta interesado que mande un mensaje privado, gracias.
#9
General (Antiguo) / animacion Trigger por script
Enero 15, 2018, 03:51:32 PM
Hola, alguien sabe a que se debe que un trigger de una animación no se ejecuta en modo online?
 
Tengo el networkidentity y el networktransform en el objeto y luego desde el servidor ejecuto la animación con GetComponent(Animator).SetTrigger(GetComponent(Animator).StringToHash("Ataque")); pero se ejecuta en el servidor pero en los usuarios no, sin embargo si ejecuto una animación por variable,  ejem : Jugador.GetComponent(Animator).SetFloat("Speed",1); esta si se ejecuta en servidor y clientes.
#10
General (Antiguo) / EdgeCollider no reconoce OnMouseEnter
Diciembre 29, 2017, 12:35:37 PM
Buenas, alguien sabe porque una RawImage con el componente EdgeCollider no funciona la funcion OnMouseEnter() (si tengo el radio a 0) y sin embargo si le pongo el componente BoxCollider2D si salta la funcion OnMouseEnter(), hay alguna forma de que reconozca el EdgeCollider con radio 0 ? ya que con radio se disloca un poco aunque así si funciona...
#11
General (Antiguo) / Duda luminosidad unity y cliente.exe
Diciembre 02, 2017, 06:30:51 PM
Resulta que en unity tengo una luminosidad totalmente distinta a como queda la ejecución en un .exe ya compilado, alguien sabe porque?
#12
General (Antiguo) / Como importar en script EditorUtility
Noviembre 26, 2017, 02:04:29 PM
Buenas, resulta que al usar EditorUtility.CopiSerialized()  me da error en compilación (namespace 'Unit***itor' not found) pero sin embargo en ejecución no lo da y va a la perfección, he puesto en mi código import Unit***itor pero nada sigue igual y por mas que leo en google no encuentro como resolverlos, alguien sabe porque da este error? 
#13
Buenas chic@s, mi duda es si puedo borrar componentes antes de hacer un instantiate del objeto, es decir:
 



   
       
   
   
      function Start () {
          var cargarObjeto=Resources.Load("Objeto",GameObject);
          Destroy(cargarObjeto.GetComponent(NetworkIdentity),false);    
          GameObject.Instantiate(cargarObjeto,Vector3.zero, Quaternion.Euler(0,4.88,3.1416));
      }
   
   
   
   
       
   

[/quote]
 

Al hacer esto me da este error:  
 



   
       Destroying assets is not permitted to avoid data loss.
      If you really want to remove an asset use DestroyImmediate (theObject, true);
      UnityEngine.Object:Destroy(Object)
      prueba:Start() (at Assets/Scripts/prueba.js:6)
   

[/quote]
 
pero si hago DestroyImmediate(cargarObjeto.GetComponent(NetworkIdentity),true;  me borra el componente del objeto original (el de la carpeta Resources) y esto no me interesa, así que lo único que me resuelve un poco el tema es esto:
 



   
      function Start () {
          var cargarObjeto=Resources.Load("Objeto",GameObject);
          cargarObjeto.GetComponent(NetworkIdentity).enabled=false;
          cargarObjeto.GetComponent(prueba2).enabled=false;
          var objetoEquipado=GameObject.Instantiate(cargarObjeto,Vector3.zero, Quaternion.Euler(0,4.88,3.1416));
          Destroy(objetoEquipado.GetComponent(MeshRenderer));    
          Destroy(objetoEquipado.GetComponent("prueba2"));    
          cargarObjeto.GetComponent(prueba2).enabled=true;
      }
   

[/quote]
 
pero no me gustaría hacer esto ya que no es muy fiable... a alguien se le ocurre algo?
#14
Hola  a todos, quería comentar una duda simple que creo que puede ayudar a mas gente aparte de  mi, la duda es la siguiente:
    Si creo una clase, ej:    
  
 

 public class Misil(){
        var posIni:Vector3;
       var  distancia:float;
       var objetivo:GameObject;
        public function Misil(PosIni : Vector3,Distancia : float){
            this.posIni=PosIni;
            this.Distancia=Distancia;
            this.objetivo=null;
        }
        public function Misil(PosIni : Vector3,Objetivo : GameObject){
            this.posIni=PosIni;
            this.Distancia=;
            this.objetivo=Objetivo;
        }
    }

 
    Como veis tiene 2 constructores dependiendo de los parametros de entrada, entonces si ahora quiero crear un nuevo objeto y añadirle esta clase hago lo siguiente:  
 



   
       var vObjeto=Resources.Load("Objetos\misil"",Transform);
   

[/quote]
 
                Aquí viene la duda,segun unity se añade un componente de esta forma:    
 



   
          objeto.AddComponent(Misil);
   

[/quote]
 
    Pero yo necesito instanciarla según me interese creandola con un constructor u otro, así que necesitaría hacer esto:        
      
 



   
       objeto.AddComponent(New Misil(vPosIni,50));
   

[/quote]
 
    Esto es posible de hacer?.
#15
General (Antiguo) / Arrastrar objeto
Noviembre 13, 2017, 03:34:23 PM
Buenas estoy retocando la funcion de arrastrar un objeto por la scena ya que cambié la cámara a modo perspective, pero resulta que si arrastro el objeto hacia un extremo se desplaza un poco el puntero del origen donde empecé arrastrandolo,
 
Aquí mi código:
 



   
       
   
   
      function OnMouseDrag(){
          var worldPos = Input.mousePosition;
          worldPos.z = 100;
          worldPos = Camera.main.ScreenToWorldPoint(worldPos);
          this.gameObject.transform.position=worldPos;
      }
   
   
      *Si
   
   
       
   

[/quote]
 
al arrastrar el objeto el puntero lo pone en  en centro del objeto, al moverlo a la esquina superior derecha el puntero se desplaza de su origen, si lo muevo a la esquina inferior izquierda el puntero se desplaza tambien de su origen pero distinto al de la esquina superior derecha, mi intención es que no se desplace el puntero del ratón, que este siempre quede fijado al origen donde empecé a arrastrar el objeto.
 
 
#16
General (Antiguo) / Insertar sprite en function OnGui
Noviembre 02, 2017, 10:51:39 AM
Buenas, pues resulta que estoy haciendo una interfaz con la funcion OnGui, mi interfaz se compone de una imagen de fondo y una imagen de marco (Bordes) , el problema que tengo es el siguiente, resulta que si la imagen no es proporcional los bordes me salen desproporcionados los laterales con los horizontales, entonces pensé en hacer de la imagen de bordes un sprite pero resulta que no puedes cargar sprite desde el OnGui, entonces me gustaría oir alguna posible solución, gracias de antemano.
#17
General (Antiguo) / Iluminar Objeto
Julio 07, 2017, 01:15:15 PM
Hola a todos!! estoy tratando de iluminar un objeto cuando paso el ratón por encima y hasta ahora sólo se me ha ocurrido cambiar los materiales de un objeto por otros y al salir de el volver a reestablecer los materiales pero claro no es lo que quería ya que es un poco royo cuando tienes una composición de varios objetos sobre un único objeto, me gustaría hacerlo como lo hace el editor de unity que colorea el area del objeto como muestro en la imagen, a ver si alguien me puede dar una idea, gracias!
#18
General (Antiguo) / Duda @Server Network
Junio 28, 2017, 01:25:51 PM
Buenas a ver si alguien experto puede resolverme esta duda, resulta que tengo un jugador servidor, un jugador cliente  y un objeto sin autoridad de jugador cliente (cada uno con su networkidentity) y quiero hacer una llamada desde el cliente al servidor sobre dicho objeto (una funcion @Server o @Command etc) pero resulta que si no tengo autoridad sobre este objeto desde el cliente no puedo hacer llamadas @Server @Command etc, ahora para salir del paso lo que hago es un NetworkClient.Send() el cual le envía la información al servidor del networkIdentity del objeto y en la funcion de lectura del servidor de dicho mensaje hago una busqueda de dicho objeto por su networkidentity y luego ejecuto la función deseada.
 
Hay alguna posibilidad de ejecutar una especie de @Command sin tener autoridad sobre dicho objeto?.
 
Gracias de antemano. 
#19
General (Antiguo) / Error NavMesh multiplayer
Junio 06, 2017, 10:57:14 AM
Alguien sabe porque a partir del segundo cliente conectado al servidor el navmesh da este error: "SetDestination" can only be called on an active agent that has been placed on a NaveMesh.
 
 
 
Se ve que el primer cliente funciona a la perfección pero no logro entender porque los demás cientes conectados despues de este dan ese error.
#20
Como puedo eliminar y asignar las conexiones que pueden observar un determinado objeto?
 
He visto algo de la clase NetworkBehaviour llamado OnRebuildObservers pero no se como implementarla o que funcionamiento debo de hacer ya que no existe mucha información de este tema.