Проект Qt опубликовал (http://blog.qt.io/blog/2018/03/02/qt-3d-studio-1-1-released/) релиз Qt 3D Studio 1.1 (https://www.qt.io/3d-studio), приложения для создания трёхмерных интерфейсов пользователя. Qt 3D Studio предоставляет (https://www.opennet.dev/opennews/art.shtml?num=47653) инструменты для быстрого создания прототипов трёхмерного интерфейса и включает в себя в том числе редактор со шкалой времени, позволяющий создавать эффекты с анимацией и по ключевым кадрам. Поддерживается импорт ресурсов из таких популярных пакетов, как Blender, Photoshop, Autodesk Maya и The Foundry MODO (поддерживаются форматы FBX и COLLADA). В состав также входит обширная библиотека готовых материалов и эффектов. Создаваемые макеты интерфейса могут быть интегрированы с Qt Quick и другими модулями фреймворка Qt. Код распространяется (https://codereview.qt-project.org/gitweb?p=qt3dstudio/qt3dst...) под лицензией GPLv3.В новом выпуске реализована возможность "Data Inputs (http://doc.qt.io/qt3dstudio/using-data-inputs.html)", позволяющая управлять анимацией по шкале времени и слайдами, отталкиваясь от поступающих входных данных. Например, смещением стрелки в реализации интерфейса спидометра можно управлять через передачу цифрового значения, ассоциируемого с текущей скоростью. Поддерживается два типа Data Inputs - числа в заданном диапазоне для управления позицией на шкале времени и строковые значения для изменения текстовых элементов в интерфейсе пользователя и управления сменой слайдов.
Другим существенным новшеством является реализация Behavior Scripting API (http://doc.qt.io/qt3dstudio/qml-behavior.html), позволяющего при помощи кода на QML и JavaScript во время работы изменять поведение скриптов без непосредственной модификации скрипта. Кроме того, скрипты теперь могут создавать события для изменения состояния интерфейса пользователя.
URL: http://blog.qt.io/blog/2018/03/02/qt-3d-studio-1-1-released/
Новость: https://www.opennet.dev/opennews/art.shtml?num=48182
Хоть кто-то его щупал? Как оно?
>Qt Quick, QML, JavaScriptПрикладной программист в это вляпываться побрезгует, а вэб-программистам это нафиг не нужно.
Нужно. И тем, и другим. Говорю как побывавший и тем, и другим в разное время (да и сейчас).
Джавист раз - джавист навсегда
JS != Java;
Спасибо, что разъяснили.
Вот не надо на QML гнать. Он то довольно системен и свою функцию выполняет неплохо - хорошие, легкие и гибкие структуры чисто для GUI с непрожорливым рантаймом. Уж точно намного лаконичнее и понятнее яв, тех же интерфейсов на чистых плюсах и даже шарпов.
Я сам за сожжение яваскриптеров, но JSON и сам неплох и в QML подобный синтаксис очень даже зашел. Сначала конечно сильно непривычно, но потом ощущаешь профит. Ну и QML точно не замена замена плюсам, а его помощник.
QML объективно идеален для интерфейсов, особенно теперь
Ты-то по какому праву от лица программистов вещаешь, бесполезный петросян?
Он, как обычно, по праву менеджера среднего звена местного продмага.
poshel nahui, tuporilii degenerat, qml - лучшее, что случалось с декларативным описанием интерфейсов
Elm лучше.
Поддерживаю.
Эх, опять кто-то реализовал мой стартап. Ну ничего, фрилансеров-дизайнеров мне нанимать будет не надо.Тут более интересно, а как собственно происходит биндинг? К примеру, можно сделать анимацию стрелки спидометра от 0 до 100, а полученное значение будет выбирать фрейм. С одной стороны, это круто: простая реализация, можно рендерить графику с достаточно сложными эффектами (к примеру, раскрашивать спидометр в разные цвета в зависимости от скорости), причем работать это сможет на совсем простом железе за счет кеширования (пререндеринга). Но вот стрелка будет жестко привязана к текущим данным, т.е. сделать "болтающуюся" стрелку, плавно снижающуюся к нулю при получении нулевого значения - уже нельзя. Если же значение передается внутренним скриптам, а уже они что-то делают, то прозреваю жутчайший тормоз и максимальное ненужно.
Самому разбираться лениво, а видеоуроков пока нету.
А получить данные в кусок плюсового кода, поиграться там и выкинуть в визуальную часть нужный результат - религия не велит? И без видеоуроков нынче не жизнь в освоении программирования?
Для плавной стрелки поставь переменную-посредник - интегратор на значение управляющей переменной.
Там пререндеринг нужен только для того, чтобы бекграунд отрисовать, со всеми этими рисочками, циферками да надписями. После чего отрисовка кадра будет сводится к трём вызовам opengl -- надо загрузить в видяшку угол, чтобы шейдеры могли бы подбирать цвет и поворачивать стрелку, и затем два вызова glDrawArrays, один на фон, второй на стрелку.С подобным справился бы 386 процессор, если бы его возможно было бы на уровне электрических интерфейсов сопрячь с видеокартой моложе где-то 2005 года -- то есть с того времени, как для видеокарт стало неприличным не поддерживать шейдеры. Он бы даже справился, если бы программа была бы скомпилирована в байт-код, а не в натив-код. Вот без компиляции скриптов на голой интерпретации, он может и не справился бы по 70 кадров в секунду рисовать -- мне сложно сказать навскидку.
Другое дело, что этот qt 3d studio может быть делает иначе -- я в него не заглядывал. И может быть он больше нагружает проц работой. Но вот тут, прежде чем "подозревать жутчайший тормоз" следует открыть сорцы и посмотреть, что именно он делает.
> Эх, опять кто-то реализовал мой стартап.
> Самому разбираться лениво, а видеоуроков пока нету.К чем этот "эх"? Если без видеоуроков лениво, и в сорцы заглянуть лениво, и туториал по opengl освоить лениво, то тогда в мире никогда не будет стартапа, к которому ты сможешь приложить местоимение "мой". Для психологического здоровья полезнее принять это уже сейчас как неизбежное. Это поможет сфокусироваться на чём-то более перспективном, не рассеиваясь на бесплодные мечты о стартапах, и не переживая ложных поражений, каждый раз когда очередная мечта о стартапе оказалась реализованной кем-то ещё.
> плавно снижающуюся к нулю при получении нулевого значения - уже нельзя.При "внезапном получении нулевого значения для спидометра/тахометра" (и не только), "недостаточная плавность анимации стрелок" скорее всего будет в самом-самом конце списка забот и тревог водителя ;)
Что за такие трёхмерные интерфейсы? Где должен работать результат работы этой штуки?
На vr/ar очевидно же
Мой ональный зонд светного инновационного будущего будет показывать циферблаты по мотивам автомобильных? Зачем он будет это делать?
3d-интерфейс -- это когда в шлеме работаешь внутри САПРА какого-нибудь. А то, что на плоском экране -- это 2d.
Практическое применение?
Когда веб-мастеры перейдут от плоских двумерных к наваянию 3-мерных миров? И насколько это будет таким же простым делом, как хтмл? Раньше, лет 20 назад, помнится пытались изобретать какой-то там vrml, но от него остались одни лишь воспоминания.
Что-то я не очень понимаю, зачем Qt существует. Так же, не понимаю, почему в автопроме здоровые коробки ответственны за отображение картинки, выполненной на Qt, в то время как 8-миядерный андроид запускается на мелких hdmi-стиках.