forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Уроки (http://forum.boolean.name/forumdisplay.php?f=145)
-   -   Unity3D - печать (http://forum.boolean.name/showthread.php?t=14672)

shady 05.05.2011 16:45

Unity3D - печать
 
Помогите распечатать картинку в формате .png из Unity3D.:SOS:

Поискал в интернете но так и ничего не нашел. :"(

pax 05.05.2011 17:08

Ответ: Unity3D - печать
 
Для какой платформы разработка? Windows/Mac?

shady 05.05.2011 17:16

Ответ: Unity3D - печать
 
Windows

pax 05.05.2011 17:28

Ответ: Unity3D - печать
 
Вот варианты:
1. Попробовать подключить библиотеки Mono к проекту, что-то типа System.Drawing и использовать их для печати.
2. Объявить необходимые WinAPI для такой цели и использовать их.
3. Написать внешнее приложение, принимающее через коммандную строку путь до созданной png картинки и вызывать его.

shady 05.05.2011 17:39

Ответ: Unity3D - печать
 
При добавлении в скрипт using System.Drawing;

пишет такую ошибку

Assets/Scripts/MouseTexture/MousePrint.cs(7,14): error CS0234: The type or namespace name `Drawing' does not exist in the namespace `System'. Are you missing an assembly reference?

Taugeshtu 05.05.2011 20:12

Ответ: Unity3D - печать
 
Цитата:

Assets/Scripts/MouseTexture/MousePrint.cs(7,14): error CS0234: The type or namespace name `Drawing' does not exist in the namespace `System'. Are you missing an assembly reference?
Предположу, что System.Drawing не входит в стандартные инклюды/поставку Unity.
Я бы попробовал:
Найти этот самый System.Drawing где-нибудь в виде cs и вставить непосредственно в сам проект, или поискать, где юнити держит mono-файлы, и вставить туда недостающий кусок.
Поскольку недавно обновлялся до 3.1, могу точно сказать, что где-то в недрах инсталляции этот самый mono живёт в полностью представленном в Unity виде.
Также точно знаю, что при добавлении в проект скрипта "System" он перекрывал стандартный mono-вский System, а значит - одно из представленных выше предположений может дать результат.

h1dd3n 05.05.2011 21:57

Ответ: Unity3D - печать
 
в скрипт добавляешь using System.Drawing;
находишь нужный длл в mono. лежат они в Unity\Editor\Data\Mono\lib\mono\2.0
кидаешь в папку с проектом. добавляешь длл в ассеты. компилируешь.
ps КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ ТАК ДЕЛАТЬ! (не факт что заработает у тебя, а если и заработает то высока вероятность того, что не заработает на другом компе)
Не зря drawing не включен в стандартный набор библиотек.

pax 05.05.2011 22:10

Ответ: Unity3D - печать
 
Цитата:

Сообщение от h1dd3n (Сообщение 187608)
добавляешь длл в ассеты.

Только не забывайте добавлять ее не просто в ассеты а в папку Plugins

h1dd3n 06.05.2011 09:05

Ответ: Unity3D - печать
 
Цитата:

Сообщение от pax (Сообщение 187612)
Только не забывайте добавлять ее не просто в ассеты а в папку Plugins

Почему именно в plugins? (это же managed dll)
Конечно лучше выделить какую-нибудь папку, чтобы дллки в корне не валялись, но имя может быть например ManagedDlls или как захочется.

pax 06.05.2011 11:19

Ответ: Unity3D - печать
 
Вообще я руководствовался вот этой статьей
http://unity3d.com/support/documenta...l/Plugins.html
Но читал давно, перечитал, ничего не нашел про managed dll ... странно... но мы давно используем структуру папок примерно такую:
[Assets]/[Имя плагина]/[Plugins]/[рантайм dll]
[Assets]/[Имя плагина]/[Plugins]/[Editor]/[Editor dll]


Часовой пояс GMT +4, время: 08:23.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot