![]() |
3D-Engine
Мужики!!! кто-то пытался сделать полноценный 3D - движок? позволяющий использовать наложение текстур и отсечение неыидимых граней, при этом создавая почти ЛЮБУЮ форму фигуры (даже любую, но немного снизится ФПС , где-то до 25-30)
3D - движок будет выстраиваться при помощи фигур которые используются во всех движках (кто знает тот поймет о чем я говорю), но дело в том, что Флеш не умеет рисовать произвольные двумерные фигуры (скриптом). Что вы об этом думаете?! |
Теоретически это сделать возможно, даже с текстурированием (где-то я даже видел такую фишку), но подумай, каких это требует вычислений. Для примера посмотри систему наложения текстур в DirectX (разбиение на TexElи и т.д.), составление матриц трансформаций. Тем более Флеш использует интрерпретацию кода.
Лучше для этого использовать Director. |
А в чем вопрос? Можно рисовать произвольные 2-х мерные фигуры. И можно сделать без тормозов, правда, тоже с ограничениями. Сложно сделать, например, произвольную кривую фигуру. А с углами - пожалуйста. За идею спасибо Павлу Калюжному. Смотри: www.kaluzhny.nm.ru.
|
Вложений: 1
Да... Не зря же я задал этот вопрос. Я над этим сейчас работаю и имею не какие-нибудь успехи. Флэш я в первый раз запустил две с половиной недели назад. И вот результат! (см. вложенный файл).
Только у меня там сейчас небольшая путанница с ZX координатой, и из-за єтого вращение немного не корректное, но превосходно демонстрирует то, над чем я счас работаю. Подсказка - нажмите хоть один раз на красную грань, но и не забывайте про другие ;) |
радует меня молодежь... очень радует...
честно... |
Мнение свое скажите хотя бы... :(
|
кру-уто...
Я вот 2ой год с флэшем вожусь, а такое, уверен, не сделаю, а ты за 2 недели, ку-ул!!! (смотреть обейзательно!!!) |
единственный совет:
вот это вот - --------- Data.Plane[2].a.z = Data.Plane[2].a.z - n; Data.Plane[2].b.z = Data.Plane[2].b.z - n; Data.Plane[2].c.z = Data.Plane[2].c.z - n; Data.Plane[3].a.z = Data.Plane[3].a.z + n; Data.Plane[3].b.z = Data.Plane[3].b.z + n; ---------------- помоему лучше циклом делать. Ты ж на 5 флеше работаешь, а не на четвертом! то есть в одном цикле for перебираешь цифры, а внутри него еще один цикл - там буквы от a до c, а внутри него уже пишешь такую конструкцию Data.Plane[2][имяпеременнойбуквы].z = Data.Plane[2][имяпеременнойбуквы].z - n; PS ну думаю как сделать чтоб попеременно то плюс бы то минус (или как там у тебя сдделано) догадаешься - вместо знака переменную поставить и попеременно присваивать ей то плюс то минус |
кучу всяких 3Движков посмотрел, но так и не понял в чем суть. И самое интересное у всех по разному сделано .. или нет
По какому принципу вообще делается движок? И как этому научиться? Ну я имею ввиду где об этом можно статейку прочитать или руководство какое-нибудь... |
Неплохой движок, хотя и довольно сильно тормозящий, займись оптимизацией. Мой на четвертом флеше побыстрее будет, правда в нем нет таких наворотов как у тебя. :)
Но все эти флешевые движки полноценными назвать нельзя: они максимально упрощены и заточены под конкретные фигуры или наборы фигур. За флешем (на сегодняшний день) в области реального 3Д перспектив я, например, не вижу :rolleyes: |
| Часовой пояс GMT +4, время: 01:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.