Jump to content
UnitySpain

datmos

Registrados
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

1 Neutral

About datmos

  • Rank
    Iniciado

Profile Information

  • Especialidad
    Coder

Recent Profile Visitors

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

  1. "Tienes un email" Pues estoy interesado en unirme. Mi interés no es en la remuneración (ni debería ser el interés de nadie si se esta aprendiendo, eso solo provoca frustraciones). Mi interés es en la creación de un grupo ya que eso significa motivación mutua y es cuando se puede avanzar en un proyecto. Yo siempre he intentado crear cosas solo y acabo desmotivandome. Vuelvo a insistir, que la remuneración no sea vuestro principal focus, eso solo provoca derrumbamientos en ambientes pequeños como estos, ya que se tarda muuuucho tiempo en conseguir algo decente y esto sumado al querer ganar dinero, hará que os desaniméis y lo dejeis. Y si, lo digo por experiencia, en el cual siempre me quedaba solo en el equipo xD Saludos!
  2. Fenomenal @francoe1, muy buena explicación, gracias. Voy a ponerme a estudiar las soluciones que me as propuesto, a hacer pruebas y demás, me parece muy interesante y quiero llegar a controlarlo. Seguiré comentando en este mismo hilo. Si se te ocurren mas cosas, consejos, utilidades... que crees que me puedan ser de ayuda no dudes en ponerlo, estaré atento al post! Muchas gracias!!
  3. Buenas! Pues el TargetRPC lo leí en su día pero como aún no sabia nada del networking lo deje atrás temporalmente. Parece muy útil para solventar ciertas situaciones, tengo que hacer pruebas con el. Des de que me respondiste estuve la tarde leyendo, empapándome de mas teoría y me encontré con algo que te quiero preguntar, lo haré al final. Puedo utilizar mi lógica para suponer a que te refieres con lo de "los RPC no deberían tener conexión con el servidor", pero para que no me queden dudas o por si acaso voy errado me lo podrías explicar porfa? Con la estructura de datos, me pasa lo mismo, puedo verle un sentido a lo que comentas pero no lo veo en la practica. Estoy aprendiendo a entenderlo, obviamente no busco soluciones, busco la manera de ponerlo en practica, hacer pruebas y entender el funcionamiento de lo que me comentas, así que disculpa tantas preguntas pero es un terreno complicado (o al menos a mi se me hace complicado) y llego a el des de cero. Por cierto tambien me contre con esto: https://docs.unity3d.com/Manual/UNetVisibility.html . Me parece algo muy interesante, voy a estudiarlo y probarlo. Lo que te comentaba al principio que encontré ayer leyendo por internet, es a gente con bastante experiencia con uNet comentando que al final se pasan a otra Network Solution como Photon, etc, por muchos motivos, tales como la falta de documentación, ejemplos, la falta de actualizaciones por parte de Unity sobre uNet/HLAPI..., limitaciones en cuanto a estabilidad cuando la cantidad de jugadores en el servidor es "alta" (en plan, mmo, survivals, etc..), la sensacion de abandono de este apartado por parte de Unity... Y muchos mas motivos que algunos de ellos no puedo comentar por que ni los entiendo ya que son demasiado técnicos para mi. Pero ademas lo que me sorprendió es la gran cantidad de gente que respondía a estos posts que estaban de acuerdo con el, osea que pensaban igual. Y esto me da que pensar, realmente me vale la pena seguir aprendiendo uNet? No tendrá mas futuro (a corto y medio plazo al menos) aprender otra solución? En su momento tiré por uNet sin dudarlo porque no quería depender de un tercero, ya que si salen actualizaciones de Unity deberemos esperar a que ese tercero saque una actualización también. Pero bueno, si la diferencia es tan importante quizas vale la pena cambiar, no lo se. Ademas quiero aprender a hacer funcionar muy bien uNet/Photon/lo que sea, antes de hacer crecer un juego, creo que es bueno ir programando el networking al mismo ritmo que crece el juego. Voy a seguir leyendo cositas mientras espero tu respuesta :P Gracias!
  4. Buenas a todos. Hace ya unas semanitas que estoy aprendiendo uNet, pero me surge una duda con objectos se se puede droppear (soltar en el mapa) y pickup (se pueden recoger del suelo por cualquier usuario). Ahora mismo lo tengo funcionando bien, un player se encuentra un item, lo recoge y lo añade a su inventario, luego lo suelta y aparece en el mapa, otro player ve ese objeto y lo puede recoger. La cosa es que no se si lo tengo bien estructurado en cuanto a Commands y ClientRPCs, pongo un ejemplo inventado y en bruto para que veais como lo tengo: "Al hacer click en un item, ejecuta la funcion de "Añadir Item al inventario" y la esctructura de la funciona es la siguiente:" .... .... if (isItem == true) { CmdAddItem(); } [Command] void CmdAddItem() { //añadir item a una lista //modificar el nombre a item.name //modificar parent del item //añadir item a un Slot //indicarle al item en que slot esta //...y mas logica RpcAddItemInform(); } [ClientRPC] void RpcAddItemInform() { if(isLocalPlayer) { //añadir item a una lista //modificar el nombre a item.name //modificar parent del item //añadir item a un Slot //indicarle al item en que slot esta //...y mas logica } if(!isLocalPlayer) { //modificar el nombre a item.name //modificar parent del item //indicarle al item en que slot esta //...y mas logica } } Este código es muy bruto es solo para ejemplificar lo que me esta ocurriendo con todo lo que tengo que sincronizar entre servidor y clientes. Como veis, tanto lo que ejecuto en el Command como en el RPC para el LocalPlayer, como en el RPC para el NoLocalPlayer, se repiten las lineas de la lógica, con variantes ya que cada cliente tiene que saber lo que que tiene que saber, pero encuentro absurdo tanto repetir código. Primero en el Command le doy toda la logica ya que es el server y lo tiene que saber todo o casi todo, luego ejecuto el RPC para actualizar los clientes pero con variantes según si es el playerlocal o no es el local. Parece una tontería pero al tener ya varios Command y RPCs en el código veo muchas lineas de Lógica repetidas y tampoco acabo de ver el sentido a actualizar la información del Item en el servidor si luego al informar a los clientes les paso el mismo código a mano, al ejecutar el RPC no debería "Copiar" lo que hay en el server? En mi opinión estoy haciendo algo mal en terminos de organizacion de donde ejecutar las lineas de logica, donde ejecutar las lineas de comprobación previas a la lógica (como por ejemplo saber si tengo un Slot libre en el inventario antes de añadir el item). He buscado mucho por internet pero a parte de la poca info practica, la gente lo hace de distinta manera. Alguien podria arrojar algo de luz para ver como se suele estructurar las sincronizaciones servidor-cliente y que el server sea autoritativo? Un ejemplo en bruto como el mio seria genial. Saludos!!
  5. Ese collider que comentas lo añades al túnel? Si es así, si ese túnel es fijo que no se mueve nunca, pero si que se cae, entiendo que es por que tiene rigidbody, Quilate la opción "Use Gravity" del rigidbody para que no se caiga y listo. O si no deberás utilizar otro tipo de collider para que no bloquee la entrada, como el Mesh Collider. Disculpa si voy errado cuesta dar respuesta con tan poca info. Saludos!
  6. Buenas Se que esto es antiguo y tampoco tengo una respuesta a tu duda. Pero se me pasa por la cabeza que si quieres dar permisos a los usuarios para que ellos hagan de servidor, dichos usuarios deberán abrir puertos del router, permisos del firewall, antivirus, etc... Supongo que ya lo sabes, pero por si acaso lo comento. Saludos!
  7. Buenas! No se si lo tendrás resuelto ya pero, la función: public void AspectoCabeza(), no la estas llamando des de ninguna parte. Puede ser ese el problema?
  8. Buenas, Es como dice @jeico008, se crea un Vector 2 con la posición del eventData - la imagen que quieres mover. Luego de nuevo restas la posición del eventData - el calculo anterior: public void OnDrag(PointerEventData eventData) { offset = eventData.position - new Vector2(this.transform.position.x, this.transform.position.y); this.transform.position = eventData.position - offset; } Yo he usado un Vector2, pero puedes hacerlo con un Vector3. De hecho yo prefiero hacerlo así: public void OnBeginDrag(PointerEventData eventData) { offset = eventData.position - new Vector2(this.transform.position.x, this.transform.position.y); this.transform.position = eventData.position - offset; } public void OnDrag(PointerEventData eventData) { this.transform.position = eventData.position - offset; } Asi siempre tengo disponible el OnBeginDrag por si en un futuro quiero añadir algo al empezar a dragear, un evento, un efecto, un sonido, etc... De esta manera primero guardas en la variable Offset la distancia que hay desde donde as clicado hasta la posición actual de la imagen. Y luego al cambiar la posición de la imagen y restarle el offset, consigues que la imagen se mantenga siempre a la misma distancia del ratón, creando el efecto de que arrastras desde donde as clicado. Saludos,
  9. Buenas! Tengo una pequeña escena donde el enemigo me esta dando por culete. para probar he hecho una escena nueva, he puesto un cube y le he puesto un script el cual lleva un transform.Translate en Z. Así que el cubo avanza en Z poco a poco. Este cube lleva un rigidbody para que le afecte la gravedad por si el terreno no es llano. Luego tengo al player que no tiene un rigidbody, va con un Character Controller. Si yo me acerco al Cube por su "espalda" e intento empujarlo con el Player (es decir como si quisiera ayudare a que corra mas en Z) nada ocurre, el Cube me obstaculiza y punto. Lo mismo ocurre si contacto con el Cube por los lados, el cube no se inmuta, hasta aqui todo bien. Pero si me acerco por delante (osea en la dirección en la que el se esta moviendo) y me quedo quieto el Cube no puede avanzar pero empieza a desviarse de su trayectoria inicial y si le empujo en dirección contraria a la que el cubo va, lo muevo para atrás incluso lo llego a tumbar, como un rigidbody actuaria básicamente. No entiendo por que solo se le aplica fuerza si voy en dirección contraria a la del Cube y en cambio por los lados el Cube no se inmuta. Yo en realidad no quiero aplicar fuerza por ningún lazo, no se por que esta ocurriendo esto. Alguien sabe el porque? Espero haberme explicado correctamente! Saludos!
  10. Gracias! Actualmente no puedo postear ni responder ningún foro, deduzco que un administrador tiene que aprobar mi cuenta ? He intentado buscar esta info por las normas y por posts pero no he encontrado nada referente a esto. Solo puedo postear en esta categoría. Me podríais confirmar que esto funciona así ? Pido disculpas si esta información se encuentra redactada en algún sitio, lo he buscado pero no lo he encontrado. Gracias!
  11. Hola! Hace un tiempo que estoy liado con un proyecto personal, cuando salgo del trabajo le dedico unas horitas y al mismo tiempo voy aprendiendo cosas nuevas. No se por que hasta día de hoy no me ha dado por buscar una comunidad de Unity Española, creo que tenia en mente que no habia ninguna activa, pero veo que si xD Así que ya os metere caña xD Un abrazo!
×
×
  • Create New...