Alternativa3D 7 бесплатно и другие новости

Всем привет!
Давно ничего не писал — успел жениться, побриться налысо, снять очки :)

Есть ряд новостей.

Во-первых, мы решили отказаться от платного лицензирования движка Alternativa3D 7 (также и предыдущего — A3D 5). Теперь он будет раздаваться бесплатно всем желающим для любых проектов. Сейчас допиливается сайт и вносятся последние коррективы в движок, а пока что доступна текущая стабильная версия: Alternativa3D 7.5

Подробнее о фичах в старом посте.

Во-вторых, в бешенном темпе делается Alternativa3D 8 под будущий флэш-плеер. К сожалению, до Adobe MAX (конец октября) подробности говорить нельзя. Пока это всё дойдёт до масс (думаю, год-полтора), мы предлагаем использовать 7-ку, и после этого портироваться на 8-ку (которая скорее всего также будет бесплатна, а также обрастёт рядом тулзов типа ворлд-билдера). Мы стараемся сохранить API похожим, так что, надеюсь, это будет довольно безболезненно.

В-третьих, крупные партнёрские проекты (где мы участвуем в меру сил) уже разрабатывают на новом двигле (имея хороший запас во времени перед конкурентами).

В-четвёртых, едем на Adobe MAX с понтами :) — взяли стенд и спонсорство наравне с такими компаниями как IBM и Freescale. Наши демки будут в официальном анонсе (Sneak Peeks) нового Flash-плеера, и даже есть небольшой доклад с техническими подробностями.

Безумно рад такой движухе, надеюсь, и вы за нас порадуетесь :)

Alternativa3D 7 бесплатно и другие новости: 53 комментария

  1. спросил в старом посте (не увидел сразу этот) если можно повторюсь:
    Вопросы по лицензии:

    1.3. Использование Программы на условиях настоящей Лицензии в личных некоммерческих целяхосуществляется безвозмездно. Использование Программы на условиях и способами, не предусмотренными настоящей Лицензией, возможно только на основании отдельного соглашения с Правообладателем по цене, устанавливаемой Правообладателем.

    Т.е. можно делать коммерческие проекты или нет? Нужно ли для этого дополнительное соглашение?

    4.4. При размещении любого продукта, включая промежуточные и демо-версии, использующего библиотеку Alternativa3D, в интернет для доступа третьих лиц, пользователь обязан разместить на этой же странице видимую надпись «Powered by Alternativa3D» со ссылкой на сайт http://www.alternativaplatform.com.

    Требования вполне приемлимые, если бы не одно Но! ВКонтакте!
    Надпись то я сделаю, но ссылку на сайт разместить не смогу. Как быть?

  2. Да и почему вы все таки решили выложить в «общий доступ»? И что то не верится что 8ка будет бесплатной ))) К тому же если флеш плеер новый так хорош, то и без движка все будет летать… Появится куча туториалов… И все опенсорс двиги перепишутся под новую платформу… И тогда уж точно без разницы будет кого выбрать — везде будет достаточно производительности для веба…

  3. SuperMan, да, ты сделал важные предложения, за что огромный респект! :)
    Самое главное, на мой взгляд в новой архитектуре, что она flash-friendly.
    Хочется сильно снизить порог использования, а это как нельзя лучше делается через то, что человеку уже знакомо.

    Насчёт бесплатности 8-ки рано говорить, надо ещё дожить. Но, в том числе, из-за хорошей конкуренции смысла делать её платной не будет никакого.
    Как стало уже понятно, движок сам по себе ценности не много представляет. Главное — инструменты разработки, обучение, сообщество и т.п.
    Сторонние (не-Adobe) движки будут востребованы, т.к. это официальная позиция Adobe. Они считают, что лучше дать возможность развиться тулзам/фичам в сообществе, чем навязать что-то от себя (у них и слоган даже — Свобода выбора).

    Ну и движки от DirectX/OpenGL надо отличать, как правильно заметил ryzed.
    Это примерно как сказать, что во Flash 10 ведь есть drawTriangles, есть туториалы, опенсорс тоже — нафиг «семёрку»! ;)

  4. 2Антон Волков:
    Это вам респект!!! )) Очень жаль что не поучавствовал!
    Да то что flash friendly — это однозначно! Этим свойством должны обладать все либы, если уж на то пошло. К примеру тот же бокс 2д — сущий кашмар когда впервый раз его смотришь ))
    За последний год мне удалось сделать несколько версий самопальных двигов, это было своего рода эксперименты. Есть те которые с неплохой системой сигналов, есть те которые без системы сигналов. В любом случае я убедился в том что пока рано говорить о достойном три де во флеш )) Так что вся надежда на адобу…

  5. Добрый день. С вашим лого возникли неустранимые проблемы. В пятой альтернативе (лицензированной) я использовал две камеры. Одну для скайбокса, без фарклиппинга, другую для мира с фарклиппингом. Теперь я так не могу, потому что значки альтернативы перекрывают друг друга, и, как следствие, одна из камер не работает. Это очень, очень нехорошо.

  6. >> С вашим лого возникли неустранимые проблемы
    В релизе версии 7.6.0 не будет этой защиты и вообще будет возможность убрать лого.
    >> я использовал две камеры
    В 7 версии нет нужды для этого случая использовать две камеры — просто добавьте скайбокс в рутовый контейнер на нижний слой. На SkyBox не влияет far клиппинг.

  7. skybox = new SkyBox(20000, viewsTextures[1], viewsTextures[3], viewsTextures[0], viewsTextures[2])
    skybox.rotationZ = Math.PI*.5;
    skybox.z = 2560;
    skybox.x = 2560;
    scene.addChild(skybox);

    Где scene: BSPContainer

    При farClipping = 2048, скайбокс не виден, к сожалению. Или я что-то делаю не так? Я бы написал на форуме, но там нет регистрации.

  8. Красивая штука, поигрался вот: http://rigondo.com/www.alternativaplatform.com/terra.tweaks.swf
    У меня вопрос таков: когда ставлю мипмаппинг, то на границе перехода что-то неладное творится с uv-ами — они шевелятся. Я специально поставил резолюцию похуже, чтобы виднее было (если слишком тормозит и это незаметно, то в тесте нажмите синюю кнопку внизу). Про перекрытие лого уже спрашивать не стану — было задано, я чесгря не заподозрил что это вы «защитили» свой продукт, думал что это баг (только адобовцам никогда не рассказывайте, что вы такой фашизм устраивали — выгонят взашей). Но вы это уберете, так что теперь неактуально.
    Еще вопрос: а где ваше волшебные и очень быстрые рефлексии, которые тут описаны были: http://blog.alternativaplatform.com/ru/2010/02/05/environment-mapping/ ?
    Они в новый движок не войдут или я невнимательно читал API?
    А в целом — очень великолепный движок, в добрый час!

  9. И еще один вопрос, раньше у view был метод getObjectsUnderPoint, сейчас его нет в описании, но он существует, хоть и не работает.
    Поясню для чего он был мне нужен. Выбирать 3D спрайты по коробке — это нехорошо, поэтому, мы получали полный список спрайтов под точкой и начинали с ближайшего. Если альфа его текстуры в точке, где мышь, была меньше 0.3, то брали следующий и т.д., пока не находился подходящий.
    А теперь getObjectsUnderPoint не работает :-(

  10. Ну и, чтобы два раза не вставать:

    var m:Mesh = new Mesh();
    m.geometry.addQuadFace(
    m.geometry.addVertex( -115.261841, 96.414482, 9.389839, 0.964289, 0.935119),
    m.geometry.addVertex( -115.261848, 96.414482, -9.393761, 0.915996, 0.935119),
    m.geometry.addVertex( -115.261841, -0.000053, -9.393799, 0.915995, 0.12463),
    m.geometry.addVertex( -115.261841, -0.000053, 9.389801, 0, 0),
    material
    );

    Выдает ошибку ArgumentError: Vertex not found.
    at alternativa.engine3d.core::Geometry/addQuadFace()

    То же самое с попыткой добавить отдельно вершины с назначенными id и сделать addFaceById(), в общем мне ни разу не удалось сделать addFace ни одним из возможных способов. Что я делаю не так?

  11. >> есть ли какая-либо утилита для конвертирования старых setUVsToFace
    у Face есть геттер на массив вершин, можно пробежаться по массиву и назначить UV-координаты

  12. >> раньше у view был метод getObjectsUnderPoint, сейчас его нет в описании
    создал задачу на релиз, это действительно полезная штука.
    >> Если альфа его текстуры в точке, где мышь, была меньше 0.3, то брали следующий и т.д.
    в планах есть автоматизировать это — то есть у объектов появится параметр interactiveAlpha, чтобы при попадании мышью в пиксел менее прозрачный этого значения, объект игнорировался.

  13. >> Выдает ошибку ArgumentError: Vertex not found.
    geometry — это геттер/сеттер, который клонирует содержимое, нужно делать так:
    var m:Mesh = new Mesh();
    var g:Geometry = new Geometry();
    g.addQuadFace(
    g.addVertex( -115.261841, 96.414482, 9.389839, 0.964289, 0.935119),
    g.addVertex( -115.261848, 96.414482, -9.393761, 0.915996, 0.935119),
    g.addVertex( -115.261841, -0.000053, -9.393799, 0.915995, 0.12463),
    g.addVertex( -115.261841, -0.000053, 9.389801, 0, 0),
    material
    );
    m.geometry = g;

  14. Большое спасибо за ответы. С геометрией все заработало. getObjectsUnderPoint, как я понимаю, пока нет, так что, придется обходиться без него.
    А вот как быть с setUVsToFace? Некоторые вершины используются в разных (соседних) гранях, и потому у них разные u/v координаты.
    setUVsToFace требует на вход координаты трех первых вершин, но часть face образуется четырьмя вершинами, что ставить четвертой?

    Я попробовал клонировать вершины, а потом спаять их с помощью weldVertices / weldFaces, но получившийся результат содержит странную глючную текстуру, вырывающуюся при некоторых углах просмотра за пределы Mesh.

    В общем и целом проблема выглядит так: есть набор текстурированных мешей под A 5.*. Некоторые, например, содержат полторы тысячи вершин, фэйсов, и под сотню поверхностей (surface). Нужно как-то мигрировать под А 7.5, при том, что:
    — Оригинальные модели в 3DSMAX недоступны.
    — В 7.5 нет понятия surface.
    — Я даже не представляю, как конвертировать три вершины указанные в setUVsToFace в четыре и более вершин для нынешнего face.

    Например, было:
    createVertex(-115.261841, -0.000053, 9.389801, 20);
    createVertex(-115.261841, 96.414482, 9.389839, 21);
    createVertex(-115.261841, -0.000053, -9.393799, 22);
    createVertex(-115.261848, 96.414482, -9.393761, 23);

    createFace([21, 23, 22, 20], 12);
    setUVsToFace(new Point(0.964289, 0.935119), new Point(0.915996, 0.935119), new Point(0.9159950000000001, 0.12462899999999999), 12);

    Попробовал так:

    g.addQuadFace(
    g.addVertex( -115.261841, 96.414482, 9.389839, 0.964289, 0.935119),
    g.addVertex( -115.261848, 96.414482, -9.393761, 0.915996, 0.935119),
    g.addVertex( -115.261841, -0.000053, -9.393799, 0.9159950000000001, 0.12462899999999999),
    g.addVertex( -115.261841, -0.000053, 9.389801, 0, 0),
    material
    );

    Увы, не работает.

  15. Написал себе конвертор на перле, но проблема не исчезла — непонятно, какие u/v ставить вершинам, а это все портит. Если первые три вершины еще могут получить uv из setUVsToFace, то четвертая, пятая и т.д. не определены (т.е. 0, 0), что разрывает текстуры в клочья.

  16. Еще проблема — camera.view лезет на верхний слой. У меня был спрайт, в который я добавлял camera.view, а поверх некоторые текстовые сообщения. Теперь они оказались под camera.view, и даже setChildIndex не помогает

  17. >> Я даже не представляю, как конвертировать три вершины указанные в setUVsToFace в четыре и более вершин
    Их нужно досчитать. Создайте тему на форуме http://forum.alternativaplatform.com/forums/show/4.page, блог — не самое подходящее место для кода.
    >> camera.view лезет на верхний слой
    В движке нет механизмов, которые каким-либо образом меняют положение вьюпорта в displayList’е — куда положили, там и лежит, как повернули, так и повернётся.

  18. >> Насколько на ваш взгляд в 3D версии Flash будет быстрее выполняться реендеринг?
    какую версию вы имеете в виду
    >> не появляется автоматически окно списков импортов. подскажите пожалуйста, в чём может быть причина.
    Не появляется где?

Добавить комментарий