Sciter.Lite для Unity3D
От: c-smile Канада http://terrainformatica.com
Дата: 02.12.19 20:58
Оценка: 8 (1)
Начал выкладывать Sciter.Lite сборки : https://sciter.com/sciter-lite-is-published/

В двух словах про Sciter.Lite:

Sciter.Lite это т.н. windowless engine для случаев когда есть некий surface/display (device,окно) в котором надо отображать UI описанный в терминах HTML/CSS/script.
Sciter.Lite умеет рисовать в OpenGL, DirectX или bitmap или, скажем, DirectFB.

Также может работать как независимый layer поверх скажем 3D layer в играх и пр.

Мне тут уже не один человек говорит про то чтобы сделать build под Unity3D. Но в той отрасли (игры) я не Копенгаген.

Собственно вопрос: имеет ли смысл Sciter.Lite для Unity?
И второй вопрос: есть ли здесь люди плотно работающие (т.е. на стыке C#/C++) с Unity?
Re: Sciter.Lite для Unity3D
От: MikePetrichenko Беларусь www.btframework.com
Дата: 02.12.19 21:24
Оценка: 48 (1)
Здравствуйте, c-smile, Вы писали:

CS>Собственно вопрос: имеет ли смысл Sciter.Lite для Unity?


Я далек от темы твоей разработки, но если просят под Unity — делай. Там деньги есть.

CS>И второй вопрос: есть ли здесь люди плотно работающие (т.е. на стыке C#/C++) с Unity?


Будь готов к багам и непоняткам поведения Mono. Если используешь COM/WinRT — будь готов к большим багам Mono. Лучше сразу делать на c#.
Bluetooth, IrDA, WiFi and Serial Ports SDK for .NET, ActiveX, C++ and VCL
Spektrum Telemetry Log File Viewer
Re: Sciter.Lite для Unity3D
От: LuciferSaratov Россия  
Дата: 03.12.19 02:41
Оценка: 48 (1)
CS>Собственно вопрос: имеет ли смысл Sciter.Lite для Unity?

Я думаю, что очень даже имеет.
Библиотек для нормального ui в игровой разработке кот наплакал, все или супер дорогое в расчете на карманы юбисофта и рокстара , или говно какое-то.

CS>И второй вопрос: есть ли здесь люди плотно работающие (т.е. на стыке C#/C++) с Unity?


У меня определенный опыт есть. Если говорить про Юнити, то там сразу надо выкатывать поддержку всех актуальных консолей, поскольку иначе будут связаны руки, когда дойдёт дело до портирования на консоли.
С этим тоже определенный опыт есть.
Вообще, у меня давно сидит в голове мысль написать тебе насчёт побеседовать о возможном сотрудничестве в разработке библиотеки игрового ui, но все никак не мог собраться с мыслями.
Re[2]: Sciter.Lite для Unity3D
От: c-smile Канада http://terrainformatica.com
Дата: 03.12.19 03:15
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:


CS>>Собственно вопрос: имеет ли смысл Sciter.Lite для Unity?


LS>Я думаю, что очень даже имеет.

LS>Библиотек для нормального ui в игровой разработке кот наплакал, все или супер дорогое в расчете на карманы юбисофта и рокстара , или говно какое-то.

Как-то я сие подозревал.

CS>>И второй вопрос: есть ли здесь люди плотно работающие (т.е. на стыке C#/C++) с Unity?


LS>У меня определенный опыт есть. Если говорить про Юнити, то там сразу надо выкатывать поддержку всех актуальных консолей, поскольку иначе будут связаны руки, когда дойдёт дело до портирования на консоли.


По наивности своей проблем особых не вижу с консолями.

LS>С этим тоже определенный опыт есть.

LS>Вообще, у меня давно сидит в голове мысль написать тебе насчёт побеседовать о возможном сотрудничестве в разработке библиотеки игрового ui, но все никак не мог собраться с мыслями.

Сотрудничать эт мы завсегда, со всем нашим почтением...

Пиши на https://sciter.com/contact_us/ или на email в профайле.
Re[3]: Sciter.Lite для Unity3D
От: LuciferSaratov Россия  
Дата: 03.12.19 07:32
Оценка:
CS>По наивности своей проблем особых не вижу с консолями.

там просто много разных графических API, в том числе закрытых, и всё это надо поддерживать.

CS>Пиши на https://sciter.com/contact_us/ или на email в профайле.


написал на terrainformatica (еще до твоего ответа), промахнулся?

UPD: написал и на почту заодно.
Отредактировано 03.12.2019 7:36 LuciferSaratov . Предыдущая версия .
Re[4]: Sciter.Lite для Unity3D
От: c-smile Канада http://terrainformatica.com
Дата: 03.12.19 18:39
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

Ага, спасибо. Ответил.
Re[5]: Sciter.Lite для Unity3D
От: wantus  
Дата: 04.12.19 10:18
Оценка: :))
CS>Ага, спасибо. Ответил.

Держите нас в курсе процесса вашей переписки. Крайне интересно.
Re: Sciter.Lite для Unity3D
От: Young Россия yunoshev.ru
Дата: 05.12.19 15:42
Оценка: 72 (1)
Здравствуйте, c-smile, Вы писали:

CS>Также может работать как независимый layer поверх скажем 3D layer в играх и пр.

CS>Мне тут уже не один человек говорит про то чтобы сделать build под Unity3D. Но в той отрасли (игры) я не Копенгаген.

CS>Собственно вопрос: имеет ли смысл Sciter.Lite для Unity?


Скорее да, но деньги там будут только прямо от крупных заказчиков. Ибо о таком задумываются те у кого игра прямо под все платформы начиная от webgl/ps4 и до мобилок.
Если с можешь сделать в том же объеме как https://coherent-labs.com/products/coherent-gameface/ то заказчики будут.

Мы работали лет пять назад с Coherent UI как оно тогда называлось. И даже были довольны. Если бы, они нас 8 месяцев не кормили завтраками про мобильную версию — скорее бы и зашипили кросплатформенный продукт (win/osx/ios/android) на нем. А так плюнули и переписали на uGUI нативный юнитевый. Он в целом не так ужасен.

Цена кстати у них тогда была более чем, скажем так для крупных компаний начиналось со 100к и больше.

И плюс, сейчас Юнити это не только игры. У них достаточно много внезапно клиентов которые юзают их для промышленного AR/VR, и даже включая различные селфдрайвинг решения.
Им тоже может пригодится.

Вот еще твой конкурент — https://ultralig.ht/ — но мы на него не смотрели плотно, руками я его не щупал.

CS>И второй вопрос: есть ли здесь люди плотно работающие (т.е. на стыке C#/C++) с Unity?


Там все просто.

https://docs.unity3d.com/Manual/NativePluginInterface.html
https://bitbucket.org/Unity-Technologies/graphicsdemos/src/default/NativeRenderingPlugin/

Все что тебе нужно. Хотя я бы все же советовал, как опцию иметь возможность рендериг отдать на откуп клиенту с минимальным набором каким нибудь. Т.е. чтобы люди могли реализовать рендер сами у себя. Хотя там у тебя могут заморочки с этим.
Если будешь делать рендер сам, учти что тебе придется иметь все варианты рендера включая как минимум метал и вулкан.
Re: Sciter.Lite для Unity3D
От: falcoware Ниоткуда https://falco3d.com
Дата: 05.12.19 17:02
Оценка:
CS>Собственно вопрос: имеет ли смысл Sciter.Lite для Unity?
CS>И второй вопрос: есть ли здесь люди плотно работающие (т.е. на стыке C#/C++) с Unity?

Мы сейчас переписываем ГУЙ своего движка https://falco3d.com на ImGUI — он кроссплатформенный, шустрый и удобный.

http://falcoware.com/exchange/rsdn/imGUI.png

Такой Гуй будет половчее.
https://falco3d.com — Народный Двиг!
Re[2]: Sciter.Lite для Unity3D
От: c-smile Канада http://terrainformatica.com
Дата: 05.12.19 19:52
Оценка:
Здравствуйте, falcoware, Вы писали:

CS>>Собственно вопрос: имеет ли смысл Sciter.Lite для Unity?

CS>>И второй вопрос: есть ли здесь люди плотно работающие (т.е. на стыке C#/C++) с Unity?

F>Мы сейчас переписываем ГУЙ своего движка https://falco3d.com на ImGUI — он кроссплатформенный, шустрый и удобный.


F>Image: imGUI.png


F>Такой Гуй будет половчее.


Про retained vs immediate mode UI уже много копий сломано.

Простой вызов функции draw_text("something weird here") он только выглядит просто.
Реально же нужно текст сначала перевести в glyphs, эти glyphs разместить в строках с переносом по границам кластеров и прочая.
Делать это на каждый frame, т.е. с частотой 60 FPS как минимум, будет работать только в простых случаях, в остальных — себя не любить.

Истина же как всегда посредине — UI решение должно предоставлять и то и то.

К слову в Sciter есть поддержка immediate mode rendering.

Скажем есть некий DOM элемент которому нужно сделать live resizing — нужно на нем нарисовать resize handles в углах чтобы можно было таскать за них. В browsers это делается созданием доп. DOM элементов — тяжело да и не оптимально.

В Sciter для этого можно использовать immediate mode drawing:

element.paintOutline = function drawResizeHandles(gfx) {
    var (w,h) = this.box(#dimension,#border);
    gfx.lineWidth(1);
    gfx.fillColor(color("highlight"));
    gfx.lineColor(color("highlighttext"));
    gfx.rectangle(w-7.5,h-7.5,7,7);  
}


element.paintOutline будет зваться в момент отрисовки, т.е. внутри WM_PAINT и т.д.

Т.е. там где эффективен DOM используем его, где выгоднее рисовать по месту — используем immediate mode drawing.
Re[3]: Sciter.Lite для Unity3D
От: Young Россия yunoshev.ru
Дата: 05.12.19 19:58
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Про retained vs immediate mode UI уже много копий сломано.


Не воспринимай это всерьез.

imGUI в Юнити это штука сугубо для отладки и дебага, в играх (да и везде кроме как чит меню вывести) для UI ее не использует реально никто. Она то и на десктопе тормозит. Это такое легаси от самого редакторая Юнити, от которого даже в сам редакторе. Да и юнити ее задеприкейтить хочет.
Re[3]: Sciter.Lite для Unity3D
От: falcoware Ниоткуда https://falco3d.com
Дата: 05.12.19 20:16
Оценка:
Здравствуйте, c-smile, Вы писали:


CS>В Sciter для этого можно использовать immediate mode drawing:


Видишь в ImGUI есть уже плагины: визуальное программирование, блоки, графы все уже готовое. Близзарды проинвестировали в них кругленькую сумму.
+ я думаю ХТМЛ будет тормозить если 50 окошек будет на экране.
https://falco3d.com — Народный Двиг!
Re[2]: Sciter.Lite для Unity3D
От: c-smile Канада http://terrainformatica.com
Дата: 05.12.19 20:17
Оценка:
Здравствуйте, Young, Вы писали:

Y>Если с можешь сделать в том же объеме как https://coherent-labs.com/products/coherent-gameface/ то заказчики будут.


Sciter давно уже в том объеме и даже больше.


Y>Мы работали лет пять назад с Coherent UI как оно тогда называлось. И даже были довольны. Если бы, они нас 8 месяцев не кормили завтраками про мобильную версию — скорее бы и зашипили кросплатформенный продукт (win/osx/ios/android) на нем. А так плюнули и переписали на uGUI нативный юнитевый. Он в целом не так ужасен.


Y>Цена кстати у них тогда была более чем, скажем так для крупных компаний начиналось со 100к и больше.


Y>И плюс, сейчас Юнити это не только игры. У них достаточно много внезапно клиентов которые юзают их для промышленного AR/VR, и даже включая различные селфдрайвинг решения.

Y>Им тоже может пригодится.

Это тоже. Собственно один из инициирующих заказчиков на Sciter.Lite это компания которая использует его в интеллектуальных домофонах — с видео и всё такое.
И в промышленности Sciter уже давно работает.


Y>Там все просто.


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

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

Ага, спасибо.

Y>Все что тебе нужно. Хотя я бы все же советовал, как опцию иметь возможность рендериг отдать на откуп клиенту с минимальным набором каким нибудь. Т.е. чтобы люди могли реализовать рендер сами у себя. Хотя там у тебя могут заморочки с этим.

Y>Если будешь делать рендер сам, учти что тебе придется иметь все варианты рендера включая как минимум метал и вулкан.

Sciter и так уже умеет рендерить HTML/CSS

* на DirectX/Direct2D/DirectWrite/
* на OpenGL/ES, Vulkan, Metal, raw DirectFB — всё что поддерживает Skia.
* на GDI+, CoreGraphics и Cairo.

т.е. фактически может рисовать на всём что шевелится. Плюс на custom drawing api который предоставляет имплементацию как минимум fill_rect, draw_bitmap, draw_path, draw_glyphs.
Re[4]: Sciter.Lite для Unity3D
От: c-smile Канада http://terrainformatica.com
Дата: 05.12.19 20:26
Оценка:
Здравствуйте, falcoware, Вы писали:

F>+ я думаю ХТМЛ будет тормозить если 50 окошек будет на экране.


Вот я был написал по следам поездки в Bloomberg этим летом:

https://terrainformatica.com/2019/07/29/bloomberg-terminal-how-i-would-it-with-sciter/

Тоже мне говорили что будет тормозить. Ну вот там 900 DOM элементов которые 60 FPS refresh на high-DPI, вполне себе живут.

Или вот на зачуханом Android device: https://youtu.be/l9oQWpqZSrs
Re[5]: Sciter.Lite для Unity3D
От: falcoware Ниоткуда https://falco3d.com
Дата: 05.12.19 20:29
Оценка:
CS>https://terrainformatica.com/2019/07/29/bloomberg-terminal-how-i-would-it-with-sciter/

CS>Тоже мне говорили что будет тормозить. Ну вот там 900 DOM элементов которые 60 FPS refresh на high-DPI, вполне себе живут.


CS>Или вот на зачуханом Android device: https://youtu.be/l9oQWpqZSrs


Красиво рекламируешь — но! 1 месяц разработки и уже обратного пути нет. Follow the leader. А значит идем по следам Юньки.
https://falco3d.com — Народный Двиг!
Re[6]: Sciter.Lite для Unity3D
От: c-smile Канада http://terrainformatica.com
Дата: 05.12.19 20:42
Оценка:
Здравствуйте, falcoware, Вы писали:

F>Красиво рекламируешь — но! 1 месяц разработки и уже обратного пути нет. Follow the leader. А значит идем по следам Юньки.


Я не рекламирую в данном случае, я иллюстрирую свои размышлизмы конкретными примерами.
Re[3]: Sciter.Lite для Unity3D
От: Young Россия yunoshev.ru
Дата: 05.12.19 20:42
Оценка:
Здравствуйте, c-smile, Вы писали:

Y>>Все что тебе нужно. Хотя я бы все же советовал, как опцию иметь возможность рендериг отдать на откуп клиенту с минимальным набором каким нибудь. Т.е. чтобы люди могли реализовать рендер сами у себя. Хотя там у тебя могут заморочки с этим.

Y>>Если будешь делать рендер сам, учти что тебе придется иметь все варианты рендера включая как минимум метал и вулкан.

CS>Sciter и так уже умеет рендерить HTML/CSS


CS>* на DirectX/Direct2D/DirectWrite/

CS>* на OpenGL/ES, Vulkan, Metal, raw DirectFB — всё что поддерживает Skia.
CS>* на GDI+, CoreGraphics и Cairo.

CS>т.е. фактически может рисовать на всём что шевелится. Плюс на custom drawing api который предоставляет имплементацию как минимум fill_rect, draw_bitmap, draw_path, draw_glyphs.


Ну тогда если тебе не брать платформы типа PS4, Switch — то задача достаточно стрейтфорвард.

А ты кстати пробовал компилять его под webgl/wasm?

Я тут в качестве пруф ов концепт переводил нашу C++ игру (правда сразу написаную достаточно модульно) под идею — типа давайте ее встроим в любой Юнити проект. Т.е. все внутри на С++, только рендер, импут и основной цикл на Юнити. Плюс минус 2 недели на разобраться со всем что бы заработало и на мобиле и в редакторе и на десктопе.

Там больше мороки даже не сколько как это все интегрировать со сборками — т.е. как потом запатчить результирующий xcode проект чтобы он кастомный фрейворк взял, как dll подсунуть и т.п. Ибо на iOS там нужно статическу либу, в другом месте динамическу, в третьем dll, и в четвертом еще морока.

Но эта специфика должна быть тебе знакома. Там из чисто Юнити заморочек буквально раз вылезло, что моно нельзя вызвать из C# С++ делегат, передав в него указатель на функцию которая возвращает массив объектов. Крашится внутрях прямо в моно на ассерте Ну и сопутствующее счастье что ассерт тебе в плагине тебе крашит и редактор, и дебагер который к нему приатачен.
* Assertion: should not be reached at marshal.c:7138
Re[7]: Sciter.Lite для Unity3D
От: falcoware Ниоткуда https://falco3d.com
Дата: 05.12.19 20:58
Оценка:
CS>Я не рекламирую в данном случае, я иллюстрирую свои размышлизмы конкретными примерами.

WebGL есть? Похоже что нет. И зачем мне покупать за 1620 уе?
https://falco3d.com — Народный Двиг!
Re[3]: Sciter.Lite для Unity3D
От: Young Россия yunoshev.ru
Дата: 05.12.19 21:28
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Sciter давно уже в том объеме и даже больше.


И еще. Я давно не следил за твоим продуктом, может у тебя там такое есть. А может и в когеренте тоже, но не думаю.
Есть две киллер фичи, которые реально прямо очень и очень облегчают жизнь в разработке современной кросплатформенной игры.

Первое, это то что в веб разработке частично называется live coding — это когда запустив свое приложение на девайсе, а запустив нужный чит — ты получаешь некий код + qr код, отправив который дизайнеру — он может подключится прямо к твоему девайсу и посмотреть актуально состояние твоего леайута, всех значений и т.п. И прямо на живую поправить.

Это волшебно, когда постишь в чатик скриншот с багом, тебе в ответ пишут "замри", и через минуту это правится прямо у тебя на девайсе.

Вторая, более современная тенденция — это визуальный режим редактирования встроенный прямо в UI. Это когда ты игру можешь перевести в режим редактора, и прямо на ходу править констрейны, леуаты, биндинги, спрайты выбирать и т.п. Все пошло от возможности редактировать уровня прямо в игре на лету. Причем в любом состоянии игры, игра переводится в режим редактора и там правится, любой UI который видень. Плюс возможность сразу просмотреть на любом размере, разрешении, любые сейв зоны включить, нотчи и прочее, прочее. Плюс сразу подгрузить готовые окна любые другие, и посмотреть как будет смотреться.

Там правда сразу появляется хотелки, а мы хотим чтобы прямо из режима редактора правки уже в репозитарий лаяутов, и были доступны на другом девайсе, шаринг окно между проектами и т.п. Но это уже навороты и детали.

Есть у тебя для Sciter написанные же на Sciter визуальный редактор? Мне кажется должен быть

Если будут эти две фичи вместе в том или ином виде — это будет хорошие киллер фичи. Технически первое вообще не очень сложной. Шаманством и такой-то матерью мы ее даже к когеренту прикручивали пять лет назад.
Re[4]: Sciter.Lite для Unity3D
От: falcoware Ниоткуда https://falco3d.com
Дата: 05.12.19 21:47
Оценка:
Y>И еще. Я давно не следил за твоим продуктом, может у тебя там такое есть. А может и в когеренте тоже, но не думаю.

Ну что онлайн игры еще стреляют? Покупать траф у Гугла — вылетешь быстро в трубу.

Мне школьники дают 10 мини игр в день за сутки сделанные. Их уже даже не то что не качают, а уже и не смотрят.
Чисто контент распихать, подняться в поисковике.

Даешь школьнику 2 уе за игру он уже счастлив.
https://falco3d.com — Народный Двиг!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.