La Parte 5 Estaba hace mucho tiempo, pero recien me doy cuenta que no la publique. Perdon.. Les dejo el Video..eature=oembed" frameborder="0" allowfullscreen="true">
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.
#556
General (Antiguo) / Crear Sistemática de un Arma, Básico. Vídeo TUTORIAL
Abril 10, 2016, 09:08:51 PM #557
General (Antiguo) / Fallo al conectar BD desde el ejecutable
Abril 06, 2016, 01:38:56 AM
Hace un tiempo hice una herramienta para la conexión con la base de datos... eature=oembed" frameborder="0" allowfullscreen="true">
#558
General (Antiguo) / problemas plataforma movil (arriba/abajo)
Abril 06, 2016, 01:33:42 AM
Estas haciendo todo mal. Mejor lee la referencia y aprende a programar. Tienes errores lógicos muy muy graves. Te lo digo para que empieces a estudiar un poco.. Pasa por mi canal tengo unos tutos para iniciados que te serán de ayuda, y luego en Internet existen miles de tutorialeshttps://www.youtube.com/watch?v=gl8ijNQrhls
#559
General (Antiguo) / [Aporte] Sistema salvar-guardar
Abril 04, 2016, 04:05:33 PM
R3N3, Lo estuve viendo por que me intereso, seria genial a modo desafió que crees una serializacion para una clase completa, con todos o la mayoria de las estructuras mas utilizadas de Unity3D.. es decir Vector3, Vector2, GameObject, Quarternion y otros.. De esta manera seria una gran herramienta, ya que el cliente, solo deberia por ejemplo decidir que clase guardar, y el serializador se encargaria de todo el trabajo de desmenuzar la clase dato por dato.Esta bueno, pero dale un poco mas de brillo, aun le falta mucho para poder ser utilizado, en estos casos tambien es importante un Capturador de errores, siempre que trabajes con datos, trata de hacer uso de TRY y sus compañeros para tener una mejor respuesta y seguridad en la libreria. SUERTE! Tambien recuerda que utilizar JSON es una mejor alternativa que XML.
#560
General (Antiguo) / Networking recomendado
Abril 04, 2016, 03:41:13 PM
UNET es el nuevo sistema de Networking de Unity3D. Pero este esta en desarrollo por lo tanto no creo que sea algo estable para un Proyecto serio MMO (Multijugador Masivo En Linea). Ahora para esto, existen varias herramientas, una de las mas potentes es SmartFoxServer, que esta preparado para estas estructuras de datos. La programación WEB esta muy lejos de la programación Networking esto es un nivel demasiado complicado si no existen conocimientos previos, sin juzgar, diría que se necesita saber a fondo muchísimos conceptos antes de comenzar algún proyecto de dadas magnitud.De todos modos, sin intentar nunca vas a aprender, te invito a leer los siguientes libros.http://bibing.us.es/proyectos/abreproy/11823/fichero/Volumen+I%2F7.pdfhttp://www.dotnetexperts.com/resources/chapters/dotnet_network_prog_chap07.pdf" rel="external nofollow">http://www.dotnetexperts.com/resources/chapters/dotnet_network_prog_chap07.pdfhttp://web.eecs.umich.edu/~sugih/courses/eecs494/fall06/lectures/lecture8-mmog.pdf" rel="external nofollow">http://web.eecs.umich.edu/~sugih/courses/eecs494/fall06/lectures/lecture8-mmog.pdfhttp://www.dotnetexperts.com/resources/chapters/dotnet_network_prog_chap07.pdf" rel="external nofollow">http://www.dotnetexperts.com/resources/chapters/dotnet_network_prog_chap07.pdfhttp://web.cs.wpi.edu/~cs4513/d08/Papers/Smed et al, Networking in Multiplayer Games.pdfhttp://ael.gatech.edu/cs4455f14/files/2014/08/Networking_Multiplayer.pdf" rel="external nofollow">http://ael.gatech.edu/cs4455f14/files/2014/08/Networking_Multiplayer.pdf Espero con esto ayudarte un poco!
#561
General (Antiguo) / Networking recomendado
Abril 04, 2016, 01:26:45 PM
El problema es que tienes un poco de conceptos errados. la BD no entraría en el Networking, eso entraría en la preservación de los datos, mientras que el networking se encarga de mandar información temporal de un cliente al servidor (Cliente/Servidor) o de Cliente a Cliente todo depende de la estructura de tu programa.Photon es en realidad UNET pero este ultimo está mejor integrado a unity.
#562
General (Antiguo) / Mejor forma de crear un Manager de Timers personalizado?
Abril 01, 2016, 09:21:19 PM
Yo hice uno que funciona bastante bien http://unitydoc.blogspot.com.ar/2016/03/timer-para-c-ejemplo-con-arma.htmlLo único que necesitas sería poder retornar un valor numérico para ver el progresoCodigo FUENTE
Desde la web del Blog podes ver un Ejemplo, no es muy complicado de utilizar! y lo he probado con unos 80 timers más o menos y todo correcto en Android.
using System;Espero te sirva! Si no avisame y vemos como lo solucionamos. Esto esta compilado en una DLL por lo tanto puede darte un problema en el TimerEditor. Suerte!
using UnityEngine;
using System.Collections.Generic;
using Unit***itor;
namespace CustomTool
{
[AddComponentMenu("System/Timer Control")]
public class Timer : MonoBehaviour
{
private static Timer _singletone;
private List<TimerItem> _timers = new List<TimerItem>();
public static Timer Singletone{get{ return _singletone;}}
public List<TimerItem> GetAllTimer {get{return _timers;}}
private void Awake()
{
if (_singletone == null)
{
_singletone = this;
DontDestroyOnLoad (this.gameObject);
}
else
{
Destroy (this.gameObject);
return;
}
}
private void Update()
{
foreach(var timer in _timers)
{
if(timer.IsRuning)timer.Run ();
}
}
/// <summary>
/// Stops all.
/// Utilizar cuando queremos parar todos los Timers que estan siendo ejecutados
/// </summary>
public void StopAll()
{
foreach(var timer in _timers)
{
if(!timer.IsManual)
{
timer.Stop ();
}
}
}
/// <summary>
/// Clears all.
/// Utilizar para Detener y Eliminar todos los TIMER no manuales, es decir todos aquellos timer que creamos con la funcion manual activada no tendrar efecto.
/// </summary>
public void ClearAll()
{
foreach(var timer in _timers)
{
if(!timer.IsManual)
{
timer.Stop ();
_timers.Remove (timer);
}
}
}
/// <summary>
/// Detener un Timer pasando el ID correspondiente, es equivalente a utilizar STOP de nuestro TimerItem.
/// </summary>
/// <param name="TimerID">Timer I.</param>
public void Stop(int TimerID)
{
_timers [TimerID].Stop ();
_timers.RemoveAt (TimerID);
}
/// <summary>
/// Quicks the timer.
/// </summary>
/// <returns>Retorna un nuevo TimerItem </returns>
///
/// <param name="TimeWait">Tiempo que deseamos esperar.</param>
/// <param name="Repeat">If set to <c>true</c> Una vez empieza el Timer solo se detiene cuando es destruydo y forzado a parar utilizando la funcion Stop</param>
/// <param name="Manual">If set to <c>true</c> Las Funciones de Stop no pueden ser utilizadas por TimerManager, por lo que deberiamos hacernos cargo de detener el timer.</param>
public TimerItem QuickTimer(float TimeWait,bool Repeat = false, bool Manual = false)
{
var item = new TimerItem (TimeWait, _timers.Count, Repeat, Manual);
_timers.Add (item);
return item;
}
}
public class TimerItem
{
private int _timerID;
private float _yieldTime;
private bool _isFinish;
private bool _isRuning;
private bool _repeat;
private bool _manual;
private float _currentWait;
public delegate void DelegateFinish ();
public delegate void DelegateStop ();
public delegate void DelegateStart ();
/// <summary>
/// Se llama cuando el Contador a Finalizado.
/// </summary>
public event DelegateFinish EventFinish;
/// <summary>
/// Se llama cuando el Contador es Detenido.
/// </summary>
public event DelegateStop EventStop;
/// <summary>
/// Se llama cuando el Contador es Iniciado.
/// </summary>
public event DelegateStart EventStart;
public bool IsManual{get{ return _manual; }}
public bool IsFinish{get{ return _isFinish; }}
public bool IsRuning{get{ return _isRuning; }}
public int GetID{get{ return _timerID;}}
/// <summary>
/// Run this instance.
/// Esta funcion es llamada por el TimerControl
/// </summary>
internal void Run()
{
if (_isFinish && !_isRuning)return;
if(Time.time > _currentWait)
{
if(EventFinish != null)EventFinish ();
_isFinish = true;
_isRuning = false;
if (_repeat)Start ();
return;
}
}
/// <summary>
/// Initializes a new instance of the <see cref="Timer.TimerItem"/> class.
/// </summary>
/// <param name="WaitingSecond">Waiting second.</param>
/// <param name="ID">I.</param>
/// <param name="Repeat">If set to <c>true</c> repeat.</param>
/// <param name="Manual">If set to <c>true</c> manual.</param>
internal TimerItem (float WaitingSecond, int ID, bool Repeat = false, bool Manual = false)
{
_timerID = ID;
_yieldTime = WaitingSecond;
_repeat = Repeat;
_manual = Manual;
}
/// <summary>
/// Start this instance.
/// Iniciar el Contador
/// </summary>
public void Start()
{
_currentWait = _yieldTime + Time.time;
_isRuning = true;
_isFinish = false;
if(EventStart != null)EventStart ();
}
/// <summary>
/// Detener el Contador
/// </summary>
public void Stop()
{
_isFinish = true;
_isRuning = false;
if(EventStop != null)EventStop ();
}
}
[CustomEditor(typeof(Timer))]
public class TimerEditor : Editor
{
Timer Target;
private void OnEnable()
{
Target = (Timer)target;
}
public override void OnInspectorGUI ()
{
EditorGUILayout.HelpBox ("Controlador del Timer, Para acceder utilizar el singletone",MessageType.None);
EditorGUILayout.HelpBox ("Estado Actual",MessageType.None);
foreach(var timer in Target.GetAllTimer)
{
GUILayout.Box ("TIMER ["+timer.GetID +"] Finish "+ timer.IsFinish + " Runing "+timer.IsRuning + " IsManual " + timer.IsManual,GUILayout.ExpandWidth(true));
}
}
}
}
Desde la web del Blog podes ver un Ejemplo, no es muy complicado de utilizar! y lo he probado con unos 80 timers más o menos y todo correcto en Android.
#564
General (Antiguo) / ¡Modelo Triple A Gratis!
Marzo 19, 2016, 05:29:03 PM
[quote author=leocub58" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35425" data-ipsquote-contentcommentid="128347 date=1458328434]soy el único al que se le ha bugueado y lo ve negro? me pasa lo mismo con mis modelos en sketchfab.[/quote]Fijate si ahora funciona, le cambie el motor de Render!
#565
General (Antiguo) / ¡Modelo Triple A Gratis!
Marzo 18, 2016, 07:34:29 PM #566
General (Antiguo) / Ayuda con script Android
Marzo 10, 2016, 07:42:27 PM
Formula bien tu pregunta, y podríamos ayudarte, pero de esta manera, ¡no esperes respuesta de nadie! o al menos una coherente.
#567
General (Antiguo) / VOTACION para el futuro del Foro
Marzo 10, 2016, 07:40:05 PM
Reportó 2 bug,1 - El sistema de votación debería estar filtrado por Usuario y no por IP.2 - Una vez realizado el voto, directamente desaparezca el tan molesto panel.Gracias. Saludos!
#568
General (Antiguo) / Mover un objeto (no prefab) desde cliente
Marzo 10, 2016, 02:10:21 PM
Tienes errores en el concepto, deberías leer un poco como Funcionan los Objetos Autoritativos y en LocalPlayer para poder realizar estas acciones. En el foro encontraras 4 partes que explican básicamente como tratar con Unet! También lo podes encontrar dentro de mi BLOG.http://unitydoc.blogspot.com.ar/" rel="external nofollow">http://unitydoc.blogspot.com.ar/ Un Abrazo!
#569
General (Antiguo) / prefabs
Marzo 10, 2016, 03:45:38 AM
te invito a que mires mi tutorial de Armas para Unityhttp://unitydoc.blogspot.com.ar/2016/02/sistema-de-armas-unity3d.html" rel="external nofollow">http://unitydoc.blogspot.com.ar/2016/02/sistema-de-armas-unity3d.html Tambien deberias saber, que cuando instanciamos un objeto tienes que indicarle en que posicion y rotacion se debe colocar.
#570
General (Antiguo) / CharacterController.Isgrounded No funciona
Marzo 10, 2016, 03:44:05 AM
debes tener un colisionador externo al CharacterController...