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

#271
Cita de: Igor date=1524995500

AssetDatabase.CreateAsset(miMesh, "Assets/miCarpeta/miObjeto.asset")

   
       
   


Esto solo funciona dentro del editor, en Runtime no va a funcionar, aparte de que no va a compilar.
#272
Cita de: Eskema date=1524749988Hola,
   
   
      Como parte del curso de udemy que estoy preparando voy a crear un juego tipo hearthstone, me planteo si es interesante el hacer stream publico, o si es un juego demasiado de nicho y programar algo asi no tiene interes.
   
   
      ¿Opiniones?
   


Me urge una duda - 
 
Vas a crear todo el juego desde la parte servidor al cliente. Si es así, el servidor va a ser dedicado ("Similar a Hearthstone con su Network Blizzard") -

¿Como vas a gestionar las Cartas? << --- 

¿Como vas a gestionar la tienda? << ---
 
Estoy desarrollando un TCG bastante grande, y tuve que plantearme cada paso, pero una de las cosas que más me costó definir es el de las cartas, por ahora ya tengo todo un sistema armado y funcionando. Mi problema puntual era la información de las cartas. Lo que tengo por ahora me permite cargar las cartas en el Servidor y luego crear un paquete de actualización para que el cliente las descargue esto cubrirá la inclusión de nuevas cartas u otro contenido, al mismo tiempo me permite obtener la información para la lógica del servidor.
 
Este tipos de proyecto son bastante interesantes, tienen sus trucos, me gustaría que el proyecto que estoy desarrollando sea tan simple como Hearthstone, pero al contrario es bastante más complejo, tiene un gameplay bastante complicado -
 
 
 
Si haces algo al respecto me apunto para "Robar" algunas ideas :)....
#273
General (Antiguo) / Generación personaje 2d
Abril 28, 2018, 01:20:09 PM
Cita de: Igor date=1524910304algo asi:
   
   


Texture2D mixInOne(Texture2D cabeza, Texture2D cara, Texture2D pelo) {
texture2D result = new Texture2(cabeza.width, cabeza.height);//nueva textura
for (int x = 0; x < cabeza.width; x++) {
       for (int y = 0; y < cabeza.height; y++) {      
      result.SetPixel(x,y, cabeza.GetPixel(x,y));//poner primera "capa" (cabeza)
      if  (cara.GetPixel(x,y).a > 0.5f) {//color alpha mayor...
         result.SetPixel(x,y, cabeza.GetPixel(x,y));//poner segunda "capa" (cara)
      } else if (pelo.GetPixel(x,y).a > 0.5f) {
         result.SetPixel(x,y, cabeza.GetPixel(x,y));//poner tercera "capa" (pelo)
      }
   }
}
return result;
}

   
       
   


Claro, pero tenes que tener en cuenta la posición de los sprite Cara, Pelo, Cabeza, definir los bounds y luego copiar los pixeles, si no se copiaria mal-
 
Igual, yo en vez de definir las cosas tomaria un arreglo de textura, mas posición, mas escala, mas rotación.
#274
General (Antiguo) / Generación personaje 2d
Abril 27, 2018, 10:49:28 PM
Creas una nueva Texture2D luego ordenas todas las imágenes situando las últimas al inicio de un arreglo, luego recorres el arreglo y copias los pixeles a la textura nueva, esto requiere de que todas las imágenes tengan un mismo tamaño, y si no tendrías que realizar un offset.
 
 
#275
Cita de: lightbug date=1524674945Eso es una de los grandes pilares para un programador (idealmente), que el código sea extendible, entendible, modular, abstraido por capas lo que se pueda (por ej no mezcla API de alto nivel con un driver de bajo nivel), comentado (no por todos lados), documentado (dentro del mismo código, Ej /// <sumary> ....) ya que es muy raro que termine siendo propio, siempre lo agarra otro programador en algún punto, y es una de las cosas que delatan al "no programador", que no piensa de entrada en este aspecto crucial. Ni hablar que sirve para el entendimiento del mismo programador en algun punto.
   
   
      La otra cuestión que en mi caso considero primordial es escribir y comentar el código en ingles sin importar a quién se lo entregues y aunque el ingles sea nivel intermedio o básico, si lo agarra un argentino, español, frances, coreano o vietnamita lo entenderá a la perfección o bueno más o menos, pero si lo dejo en español es probable que solo el argentino y el español lo hagan.
   
   

/// <summary>
/// Responsible for obtaining the current index.
/// </summary>
void GetCurrentIndex()
{
...

   
      vs
   
   

/// <summary>
/// Se encarga de obtener el índice actual.
/// </summary>
void ObtenerIndiceActual()
{
...

   
       
   
   
      Las manías vaya y pase, son propias y están ahí para un propósito personal, sobretodo de manejo de memoria y cuestiones de redacción de código, en C por ej es muy común tener Defines en mayúsculas, Macros que comienzan en minúscula con "_" "__" o incluso he visto con "___",  atributos también, guardas de includes en mayusculas y underscore, variables en minúsculas, enums con mayuscula al comenzar ... etc....no porque alguien dijo es necesario sino porque todos "acordaron" en hacerlo relativamente igual.
   
   
      Pero es cierto no se puede hacer escándalo por un simple underscore, uno debe ser tolerante hasta cierto punto, es entendible que alguien "lo haga" de forma diferente, aunque un poco diferente, somos criaturas disciplinadas al final.
   
   
       
   
   
      uh que buena pinta tiene, no lo conocía, esa web  ...lo voy a revisar, en 2018 se viene un SVG Importer, aunque creo que irá mejor para sprites y ese tipo de cosas.
   


Lo bueno de comentar con el formato XML es que existen herramientas que te crean la documentación completa del proyecto y usa estos comentarios con sus propiedades - Como lo hace Unity con su documentación. 
 
 
 
@Eskema lo de NOESIS GUI es una maravillo, lo estuve probando hace un tiempo y tenia algunos errores, ahora tendría que darle otra oportunidad.
#276
Cita de: Eskema date=1524604956Carajo pues dilo, que quiero saber que discrepancias son esas.... Lo unico que he aprendido con los años es que cada uno programa como le sale de los mismisimos... porque salvo las cosas del lenguaje (las guidelines que todos DEBERIAMOS seguir), el resto cada uno tiene sus manias.
   
   
      A mi mientras el codigo sea eficiente me suele importar muy poco el como... la de veces que he cambiado de estilo solo porque trabajas en la empresa X y te adaptas a como se hace xD
   
   
      A mi socio le pone de los nervios que declare las vars privadas con el underscore int _lives xDD
   


Como decis esta perfectamente explicado, las discrepancias con justamente esas - no todas son tu caso pero.. por ejemplo la posición de las llaves, los espacios en los parámetros, la tabulación la nomenclatura.. etc.. Dependiendo el ámbito de trabajo tienes que adaptarte, pero sigues conservando la esencia, creo que lo mejor es un código bien estructurado, fácil de leer, obviando que debe funcionar perfectamente -
#277
Cita de: pioj date=1524601397¡Ni de coña! Llevo esperando el streaming toda la semana! 


Voto por qué explique ambos temas. 
#278
General (Antiguo) / Animaciones
Abril 24, 2018, 08:41:54 PM


   
eature=oembed" width="480">

 
 
#279
Cita de: Eskema date=1524575436@francoe1 el reto esta en la mesa!!!!, 
   
   

      
         
eature=oembed" width="480">
      
   
   
       
   


¿Un reto? ¿Esto es un chiste? ....
 
Paso, creo que primero deberíamos empezar a juzgar las cosas desde el punto de vista en las que son presentadas, ya me paso de compartir algunas cosas aun siendo básicas y que el tema se vaya en otra dirección por no saber explicar bien las cosas.
 
¿Timer?
 
No existe nada mágico dentro del mismo es algo de lo más simplón que podemos practicar, pero como ya comente me gusta ver "Como lo hace" otra persona para aprender formas alternativas, ver implementaciones en C#, como pasa con las versiones, pasamos de un (string.format) a ($"") y en las notas de actualizaciones estas cosas se nos pasan por alto por que son bastante extensas. Los nullable type son otra cosa muy interesante que aprendí gracias a una capacitación en Entity Framework << Estas dos últimas son inválidas para versiones anteriores a 4.0/5 -
 
A lo que voy es, si @Eskema quiere hacer un directo con "técnicas" para la solución de diferentes problemas yo me sumo con gusto como espectador ya que es la mejor forma de aprender, aparte de que viendo el contenido que ya tiene compartido te das cuenta que es una persona entendida, aunque tenga bastantes discrepancias en su forma de codificar.
 
- Mejor, antes que un reto, podríamos cooperar en compartir algo que a la comunidad le sea de ayuda -
#280
1 - Bien primero defines un punto en el mapa, por ejemplo (0,0,0), luego tomas la distancia del jugador con ese punto.
 

Vector3.Distance(jugador.transform.position, mapa.puntodereunion)

 
2 - Si la distancia es mayor al radio que definas entonces el jugador está fuera de la zona segura.
 
3 - Temporizador
 
Al iniciar la partida le sumas a Time.time el tiempo que deseas que el radio se achique, luego en una función update evaluas que ese valor sea mayor que Time.time, de lo contrario se activa el "Tick".
 

private float _timeTick = 0;
private int _timeForReduceRadius = 0;
private void Update()
{
}
private void StartGame(int TimeForReduceRadious)
{
_timeForReduceRadius = TimeForReduceRadious;
_timeTick = Time.time + TimeForReduceRadious;
}
private void Update()
{
if(_timeTick < Time.time)
    {
      ReduceRadius();
      _timeTick = Time.tima + _timeForReduceRadius;
    }
}
private void ReduceRadius()
{
 
}

 
4 - Esa parte es matemática básica.
#281
Cita de: pioj date=1524495509Habla por ti. Yo no sé cómo se hace y me interesa que @Eskema nos explique su versión de la técnica.
   
   
      Precisamente, la Optimización nunca sigue una norma estándar, se basa en probar formas distintas de hacer una cosa ya conocida...
   


Vamos pioj.. es un timer... No es algo de otro mundo, me parece más interesante lo de 1 DrawCall  :)
#282
General (Antiguo) / Girar un objeto via Script
Abril 23, 2018, 12:32:21 PM
Cita de: Raúl date=1524479047he probado las 2 opciones  que me has dicho y en ambas me pasa igual, me modifica los valores pero a unos que no son los que yo le paso
   
   
      he probado a hacerlo "por partes" primero añado xx e yy quedando el vector (xx,yy,0) y si que se meten los valores bien pero en cuanto añado la z (xx,yy,zz) se estropean todos los valores :S
   


El problema es que no estas entendiendo como funcionan las rotaciones.
 
https://docs.unity3d.com/es/current/Manual/QuaternionAndEulerRotationsInUnity.html
 
https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation
#283
Cita de: Eskema date=1524345498Ya sabeis lo del timer, lo de las balas. ¿para que quereis un video?, no hay nada que pueda enseñaros!!!!
   


@Eskema haz el video jajajaja - Pero puedes incluir las dos cosas -
 
Me gusta ver esta clase de contenido, ya que de una simple demostración se puede sacar varias "Técnicas" para poner en práctica. 
#284
Cita de: Eskema date=1524326358En cuanto reciba mi jamon hare el directo de las balas!!!!
   
   
      De todas maneras ya sabeis como se hace, la magia ya esta desvelada xD
   


Pero lo de los timers tambien sabemos como se hace, lo que me gusta a mi es ver como lo implementas y sacar lo mejor de eso e integrarlo a mis proyectos, se aprender viendo ....
#285
General (Antiguo) / web player build
Abril 20, 2018, 11:19:14 PM
Cita de: Igor date=1524248038gracias @lightbug
   
   
      preguntare a @francoe1 a ver si nos lo confirman XD
   


El problema puntual es que WebGL hace uso de request que se basan en html REQUEST -
 
Para que esto funcione necesitas un servidor HTTP - Podrias descargarte XAMPP o algo mas pequeño https://sourceforge.net/projects/miniweb/ -
 
Recuerda colocar el archivo index.html dentro de htdocs o www dependiendo el servicio que estés utilizando, luego desde el explorador acedes a localhost/index.html o home.z3nth10n.net/index.html (Esto es algo bastante basico asi que no perderé mucho tiempo explicando). a lo que quiero llegar es que no abras el HTML desde la carpeta, hazlo navegando desde el navegador. es muy importante si utilizas DNS colocar la "/" al final ejemplo.. localhost/ o pedro-pc/