шаблон проекта dll плагина?

Программирование на Юнити.

шаблон проекта dll плагина?

Сообщение antonio 07 ноя 2010, 18:17

Привет
Вопрос конечно дикий для профи, но можете пинать меня ногами, только не забрасывайте бумажками.

Есть ли у кого-то возможность поделиться или ткнуть пальцем где есть простейший шаблон dll для юнити. (на С# или С++)
предпочтительнее С#. Изучать программирование стал по мере возможности параллельно с Unity.
На что-то особенное не претендую, хочется поэксперементировать.

посмотрел на форуме RU.
почитал в официальной документации.
посмотрел Texture Plugin но исходников dll там не увидел.

Не помогло, жду волшебного пенделя от сообщества )

PS небольшой необязательный вопрос можно ли dll плагин представить ввиде кода который будет понятен для бесплатной версии или в каких-то определенных случаях?
Аватара пользователя
antonio
UNIт
 
Сообщения: 132
Зарегистрирован: 03 ноя 2009, 15:42
Откуда: Смоленск

Re: шаблон проекта dll плагина?

Сообщение Neodrop 07 ноя 2010, 19:14

Открываем Студию. Выбираем там Создать Новый Проект -> Библиотека
Задаём имя. Подключаем нужные dll и работаем.
Чуть позже прикреплю к букварю картинки.

CreateVSProject.jpg


Dll находим в папке установки Unity.

DependenciesVSProject.jpg
У вас нет доступа для просмотра вложений в этом сообщении.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: шаблон проекта dll плагина?

Сообщение antonio 07 ноя 2010, 19:41

Спасибо большое буду учиться :-bd
Аватара пользователя
antonio
UNIт
 
Сообщения: 132
Зарегистрирован: 03 ноя 2009, 15:42
Откуда: Смоленск

Re: шаблон проекта dll плагина?

Сообщение antonio 08 ноя 2010, 18:03

Что-то я опять затупил.
Создал проект (Class Library) по картинкам как показал Нео.
Добавил из Unity lib UnityEditor.dll и UnityEngine.dll
Тестирую плагин с Unity 2.5 поправил в свойствах руками Target Framework 3.5 на .Net Framework 2.0
такой красивой кнопочки выбора Frameworka как у Нео не имею (Microsoft Visual C# 2008 Express Edition)
код dll такой (UnityDllTest2.dll)
Синтаксис:
Используется csharp
using System;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

namespace UnityDllTest2
{
    public class TestClassA
    {
        public static float FooPluginFunction() { return 5.0F; }
    }
}
 

код обращения к dll в Unity такой
Синтаксис:
Используется csharp
using UnityEngine;
using System.Runtime.InteropServices;

public class dllTest : MonoBehaviour
{
        [DllImport ("UnityDllTest2")]
        private static extern float FooPluginFunction ();

        void Awake () {
                print (FooPluginFunction ());
        }
}
 

Делаю Build Solution забираю dll из ...UnityDllTest2bin\Release\ добавляю в ...\Assets\Plugins\
В консоле получаю ошибку EntryPointNotFoundException: FooPluginFunction
И сама dll в проекте выглядит так
UnityDllTest2.jpg

Возможно я что-то еще упустил в настройках C# проекта UnityDllTest2?
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
antonio
UNIт
 
Сообщения: 132
Зарегистрирован: 03 ноя 2009, 15:42
Откуда: Смоленск

Re: шаблон проекта dll плагина?

Сообщение DbIMok 08 ноя 2010, 18:40

нужно как-то упорядочить в голове понятия. есть .net (mono, managed) dll, их можно положить в Plugins, добавить using (import) в скрипт и использовать. и есть другой тип dll - win32 (native, unmanaged), функции которых можно использовать только в PRO версии и только после описания их через dllimport. вы создавали вроде dll первого типа, а используете как второго.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: шаблон проекта dll плагина?

Сообщение antonio 08 ноя 2010, 19:05

Спасибо большое получилось

Вы похоже ответили на мой дополнительный необязательный вопрос.
Буду упорядочивать много интересного открылось для меня в этой фразе.
DbIMok писал(а):нужно как-то упорядочить в голове понятия...

:-bd
Вот что получилось.
код dll
Синтаксис:
Используется csharp
using System;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

namespace UnityDllTest2
{
    public class TestClassA
    {
        public float FooPluginFunction() { return 5.0F; }
    }
}
 

код обращения к dll в Unity
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
using UnityDllTest2;

public class dllTest : MonoBehaviour
{
        void Start () {
                runTestDLL();
        }
               
        void runTestDLL()
        {
                Debug.Log("Running Test DLL");
                TestClassA client = new TestClassA();
                Debug.Log(client.FooPluginFunction());
        }
}
 
Аватара пользователя
antonio
UNIт
 
Сообщения: 132
Зарегистрирован: 03 ноя 2009, 15:42
Откуда: Смоленск

Re: шаблон проекта dll плагина?

Сообщение Neodrop 08 ноя 2010, 20:41

Дело в следующем - список dll, который я указал, обязателен для 3.0 а совсем не для 2.x.x
Для двойки достаточно System.dll и UnityEngine.dll и всё. Если память мне не изменяет.
Работать на 2.5 это какое-то жёсткое извращение, мне думается. :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: шаблон проекта dll плагина?

Сообщение antonio 08 ноя 2010, 23:02

В предыдущем моем сообщении получилась рабочая dll и для Unity 2.5 и для Unity 3 free что и хотелось получить.
Результат вижу в обоих случаях в консоле.
Конечно dll простая - и в данном случае особых проблем не всплыло.
Хотя и использовал при билде dll от 2.5 в обоих случаях.

В дальнейшем буду обязательно учитывать более грамотный подход.

Спасибо большое Neodrop и DbIMok.
Аватара пользователя
antonio
UNIт
 
Сообщения: 132
Зарегистрирован: 03 ноя 2009, 15:42
Откуда: Смоленск


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1