Unity: Как мне создать графику для некоторых элементов в C ++, которые будут использоваться Unity? - PullRequest
0 голосов
/ 25 декабря 2018

Во-первых, я знаю, что «правильный» ответ - просто перенести все на C #.Пожалуйста, не пишите этот ответ.Это долгосрочная цель.Мне не нужно слышать, что это повторяется.

У меня есть игра, которую я хотел бы перенести на Unity на ПК (изначально). Она имеет очень тяжелый пользовательский интерфейс.Мне интересно, как бы я пошел о создании графики для пользовательского интерфейса в C ++?Моя игра в настоящее время использует GDI для создания диалогов, каждый в своем собственном буфере, затем BitBlts на экран.

В «идеальном мире» я хотел бы попробовать передать эти буферы в Unity, которая затем отображает ихи передать любые события мыши / жеста обратно в C ++ для обработки.Это клочок, но гораздо быстрее, чем все переносить, и он позволил бы мне сделать несколько прототипов / тестирований, чтобы увидеть, насколько это практично.Затем я мог портировать экраны по одному на Unity или портировать библиотеку пользовательского интерфейса, которую я написал.

Я видел один пост, в котором говорилось о том, чтобы сделать что-то похожее, где C ++ помещал текстуры в OpenGL, где Unity тогдасделать их.Есть ли какие-нибудь статьи, в которых обсуждается, как это сделать на ПК с использованием DirectX, прежде чем я начну взламывать?

Звучит просто, но я был бы признателен за некоторые советы по взаимодействию между ними.Документация на сайте Unity немного разбросана по деталям интерфейса.

Пояснение: Мой вопрос на самом деле о том, что мне нужно сделать с DirectX в C ++ для отправки текстуры обратно.Нужно ли инициализировать DirectX в C ++ так же, как и в Unity, нужно ли передавать дескриптор дисплея или что-то еще в C ++ вместе с дескриптором текстуры и т. Д.?Это так же просто, как просто вызвать процедуру C ++, чтобы вернуть текстуру?Я знаком как с тем, как разговаривать между C # и C ++, так и с тем, как в целом работают 3D-движки. Мне нужно заполнить текстуру DirectX с HDC и каким-то образом передать эти данные обратно в Unity for Display.

Ralph

1 Ответ

0 голосов
/ 26 декабря 2018

Я думаю, что нашел это, по крайней мере, отправная точка.Я должен был RTFMed руководство лучше, мой плохой.

https://docs.unity3d.com/Manual/NativePluginInterface.html

относится к этому проекту

https://bitbucket.org/Unity-Technologies/graphicsdemos/src/default/NativeRenderingPlugin/

Я надеюсь, что это кому-то поможетеще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...