Cita de: hammer date=1471368270Muy interesante,mil gracias!
Gracias a ti por la respuesta!
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úCita de: hammer date=1471368270Muy interesante,mil gracias!













Se que es tan simple como crear un script nuevo y hacerle doble click o incluso ir el archivo de la solución (DLL Tutorial.sln) creado por Unity para abrirla, pero todo esto tiene una razón y es que luego utilizaremos el mismo GameObject para añadirle este script que será el que usaremos para debugear y ver el resultado.
[/quote]
Una vez aquí, ya hemos superado la primera fase del tutorial, ahora nos dirigimos a la parte complicada, yo voy a utilizar dos métodos, uno compilando mi API y otra haciéndolo con un proyecto vacío, para ambos casos es necesario crear un nuevo proyecto dentro de la misma solución:
Seleccionamos " Biblioteca de clases " (la que está con un icono de C#), le damos un nombre (es opcional) y a mi personalmente me gusta meterla en la capeta del proyecto (la que hay por encima de la carpeta de los Assets ) por tema de tenerlo todo en una misma carpeta, pero podéis ponerla donde queráis.
Automáticamente se generará un archivo llamado Class1.cs
Lo utilizaremos para el segundo caso, pero empecemos antes:
Partiendo desde scripts ya hechos
Yo copiaré una carpeta que tenía con scripts preparados y la añadiré dentro de la carpeta del proyecto, para ello, debemos mostrar los archivos que no están incluidos en el proyecto:
Nota: Adicionalmente si el proyecto que estamos creando en Unity como yo, necesitaremos pegar la carpeta al proyecto de Unity para que compile y genere las Referencias requeridas más tarde:
Una vez hecho todo esto, nos vamos a las propiedades del proyecto dentro de Visual Studio ( Proyecto > Propiedades de Lerp2API... (en mi caso))
Y cambiamos la versión de compilación del Framework de .NET a la 3.5 (desde Aplicación > Marco de trabajo de destino > .NET Framework 3.5 ):
A mi me aparece como pueden observar Unity 3.5 .net full Base Class Libraries y otras opciones, no lo tengo testado, pero realmente es lo mismo, las referencias hay que añadirlas si o si.
Ahora ya podemos incluir la carpeta que pegamos con anterioridad en la capreta base del proyecto dentro de la solución de Visual Studio, para ello, como le dimos a mostrar los archivos/carpetas ocultos, simplemente es hacer lo siguiente (hacer click derecho y darle a Incluir en el proyecto ):
Como podemos observar se generarán unos cuantos errores
Vamos a solventarlos, para ello:
Añadiremos las referencias desde Visual Studio:
Yo seleccionaré todas las DLLs que hay en la carpeta ( Library/UnityAssemblies ), pero inicialmente solo se requieren la de UnityEngine.dll y Unit***itor.dll
Nota: Yo copiaría las DLLs por si las moscas, al borrar la carpeta si el proyecto está limpio pueden que desaparezcan.
Ahora los errores irán de muchos a cero, si hemos añadido todo lo requerido, probablemente, nos haga falta añadir algún que otro archivo/carpeta manualmente, como a mi me paso con el CrossPlatformInput .
Ah, otra cosa, seguramente, sus scripts contengan Directivas de Preprocesador , seguramente les interese tenerlas dentro de la DLL disponibles, para ello, les recomiendo que las añadan ( DE AQUÍ QUE SE NECESITE VISUAL STUDIO 2013 EN ADELANTE ), para ello vamos a ir a las propiedades del proyecto nuevamente y en el submenú Compilación , añadiremos las palabras que necesitemos, por ejemplo, yo necesito la de UNITY_EDITOR , ustedes añadan ya las que necesiten (simplemente, separandolas por comas):
Todas las keywords que no sean añadidas no serán compiladas después en la DLL.
Para compilar simplemente, hacemos click derecho en el proyecto y compilamos:
Si todo va bien se debería mostrar lo siguiente en la consola:
Ya sería copiar solamente la DLL generada y el archivo de extensión PDB a la carpeta principal o alguna subcarpeta del proyecto de Unity. Este esta en Bin/Debug/Nombre del proyecto.dll
Al añadir la DLL y el archivo PDB la IDE nos va a decir de actualizar todo, nosotros le decimos que sí
Partiendo desde cero
Simplemente es seguir el mismo proceso, crear el proyecto (usando la Biblioteca de Clases , recordar usar la del icono con el C#, aunque lo haremos con VB), establecer la versión de .NET a la 3.5, añadiremos las referencias para poder usarlas luego y poco más.
* Para usar las referencias, deberemos buscarlas en algún sitio, yo no os las puedo suministrar ya que seguramente dentro de poco queden anticuadas, para ello generad un archivo cualquier y ponedle using y el namespace que necesitéis, Unity se encargara del resto, solo copiad las dlls generadas en la carpeta que ya os he dicho, y wala, ahí tenéis las referencias que necesitéis.
Esta vez, usaremos el código de la página que antes dijimos: http://ericeastwood.com/blog/17/unity-and-dlls-c-managed-and-c-unmanaged
namespace TestCSharpLibrary
{
public class TestCSharpLibrary
{
public static float SharpMultiply ( float a, float b ) {
return ( a * b ) ;
}
public static float SharpDivide ( float a, float b ) {
if ( b == 0 )
{
return 0 ;
}
return ( a / b ) ;
}
}
}
Y lo añadiremos dentro del archivo Class1.cs generado con nuestro nuevo proyecto, le daremos a compilar como ya hemos mostrado, y usaremos el script que creamos antes para abrir la IDE para mostraros como funciona, simplemente usando este código:
using UnityEngine ;
public class NewBehaviourScript : MonoBehaviour
{
// Use this for initialization
void Start ( )
{
Debug . Log ( TestCSharpLibrary . TestCSharpLibrary . SharpMultiply ( 4 , 5 ) ) ;
}
// Update is called once per frame
void Update ( )
{
}
}
Al iniciar el proyecto deberiamos ver en la consola lo siguiente:
Ahora...
Hagamos lo mismo pero en VB.NET
La única diferencia aquí es que al crear el proyecto, debemos usar lo siguiente:
Por lo demás todo es lo mismo, referencias y versión de .NET
Usaremos nuevamente el mismo código pero transformado a VB
Namespace TestVBLibrary
Public Class TestVBLibrary
Public Shared Function BasicMultiply ( a As Single, b As Single ) As Single
Return ( a * b )
End Function
Public Shared Function BasicDivide ( a As Single, b As Single ) As Single
If b = 0 Then
Return 0
End If
Return ( a / b )
End Function
End Class
End Namespace
Compilamos y añadimos nuevamente al proyecto de Unity, una vez alli, cambiamos el código del Monobehaviour por este:
using ClassLibrary1.TestVBLibrary ;
using UnityEngine ;
public class NewBehaviourScript : MonoBehaviour
{
// Use this for initialization
void Start ( )
{
Debug . Log ( TestVBLibrary . BasicDivide ( 24 , 3 ) ) ;
}
// Update is called once per frame
void Update ( )
{
}
}
Y el resultado obviamente, será 8.
* No se porque, por alguna razón, en el using hay que utilizar la ClassLibrary1, en vez del namespace TestVBLibrary, pero bueno.
FAQ
Q: Me sale este error: Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
A: No has cambiado a la versión 3.5 tu proyecto, relee el tutorial para ver donde has fallado.
Q: Missing Component ¿que hago?
A: Si has llegado a este punto, lo mejor que podrías haber hecho hubiera sido unos pantallazos para volver a añadir los scripts a mano, recuerda, que no se van a mostrar los típicos iconos de C# de Unity
Q: Tengo Null Object References por un tubo.
A: Las Null Object References son normales cuando has insertado en la DLL código que no es tuyo, o que has tenido mucho tiempo sin compilar. Por eso, sugerimos que compiles frecuentemente el código para evitar esto. Si el código no es tuyo, ya puedes prepararte para romperte las manos, porque estos apaños llevan la vida literalmente.
Quizás aquí encuentres como ponerle Macros a tu Visual Studio: https://msdn.microsoft.com/es-es/library/ae3cxw0w(v=vs.100).aspx
Q: ¿Cómo puedo tener el Editor Morado como tu? Mola!
A: Edit > Preferences... > Colors
Extras
¿Quieres cambiar el color de tu Unity a negro teniendo la versión Personal? Usa esta herramienta [ UnityDarkSkin ]:
https://www.dropbox.com/sh/5yr41qfv7wteqtu/AADMqoBY2mV2uDaeBsz5YwOaa?dl=0
Descargas
Descarga la última versión de Unity aquí: https://unity3d.com/es/get-unity/download
Nota: Si sois nuevos en esto de Unity, os recomiendo que instaleis ciertos Builds Support como la de WebGL o la de Windows. Para poder compilar vuestro juego tanto para webs como para el sistema de operativo, si no lo hacéis, tendréis que instalar manualmente, o a través (de nuevo) del setup de Unity.
Un saludo.
Stats
" type="application/x-shockwave-flash" width="640">#3General (Antiguo) / [Asset] Zombie AI Pack - Un asset para hacer juegos de zombies!
Agosto 16, 2016, 02:02:41 PM">Zombie AI Pack es un asset para como ya dije hacer juegos de zombies, es bien simple, tiene un pequeño manual en Español (y otro en inglés) para manejar los zombies, con arrastrar los zombies, el personaje y establecer el objetivo de estos los zombies empezarán a ***guir al personaje hasta matarlo. Es bastante útil para hacer pequeños minijuegos. La verdad que por el precio al que se encuentra ahora mismo es bastante apto. Eso si, es bastante simple, con tiempo el Asset irá creciendo para alojar más características que ahora serán anunciadas." width="640">
Descripción
Éste asset proveerá una plantilla personalizable para hacer un juego de zombies. Equipado con multiples herramientas, este asset es ideal para hacer minijuegos, exposiciones o incluso aprender.
Contiene manuales, documentación (próximamente), vídeos explicativos, modelos, animaciones, código bien detallado y explicado, etc...
¿A que esperas? Obtén este asset por un precio más que económico en la Asset Store de Unity.
Características
Con este asset podrás hacer lo siguiente:
2 Prefabs de zombis con sus modelos personalizables y sus respectivos rigs, animacions y códigos.
El zombie tiene la habilidad de deambular con un sistema de deambulación preparado, también está programado y animado para comerse el cadaver del jugador.
Viene con multiples variables para configurar el zombi cómo desées.
1 Prefab dejugador, también viene con animaciones, su rig y código.
Programado para moverse cómo un TPS (Shooter en Tercera Persona), viene con multiples variables para configurar, y un sistema de armamento para agregar más armas.
Como podéis ver se pueden hacer muchas cosas con este asset!
Extras
A parte, el asset contiene también:
2 modelos 3D de escenarios, que son una pequeña oficina y un bunker circular.
2 modelos 3D de armas, los cuales son una pistola y una sub ametralladora.
2 escenas de ejemplo.
Manual PDF sobre cómo configurar las variables del zombie y el jugador.
Vídeos
Imágenes
Links de interés
Documentación (no está disponible aún, mis disculpas)
Manuales
Todos los manuales
Link al asset
Un saludo.#4General (Antiguo) / Buenas de nuevo!
Agosto 16, 2016, 01:32:04 PMGracias @juanma_teso, parece que por alguna razón no puedo postear de nuevo en otros subforos, cuantos mensajes hay que enviar? No se, no recuerdo muy bien si esto iba así antes!
Edito: Parece que ya puedo postear!#5General (Antiguo) / Buenas de nuevo!
Agosto 16, 2016, 01:10:59 AMHola personillas de este foro, pues hace algún tiempo estaba registrado aquí y al volver TACHAN! Ya no tengo cuenta, con los likes que teníajajaja en fin...
Pues soy Álvaro, de Almería, 18 años, desarrollador en Unity y de webs (mi especialidad es la back-end, la front-end la manejo, pero mis diseños no son buenos del todo, solo algunos) actualmente, aunque bueno, anteriormente también realizaba aplicaciones de escritorio (pero chorradas).
Actualmente, soy el fundador de un grupo de desarrolladores Lerp2Dev que lleva algo más de un año funcionando. Recientemente, acabamos de subir unos assets a la Asset Store y ya están en funcionamiento, al menos, uno de ellos.
Más cosas, pues, que si todo va bien me veréis por aquí frecuentemente!
Un saludo.Páginas1
- Theme by Webtiryaki
- SMF 2.1.6 © 2025, Simple Machines
Tu comunidad de Unity3D en español.