![]() |
Трехмерность без Swift3D
Здравствуйте.
Я увлекаюсь созданием флэш-анимации средствами ActionScript (т.е. программно). С недавних пор загорелся идеей добиться эффекта трехмерности математическими методами и без использования дополнительных программ. То, чего мне удалось достичь, лежит вот там: http://www.newtown.ru/~nikel/flash.html Хотелось бы услышать мнение единомышленников (и просьба сильно не ругать, потому что я старался :))) |
Я тоже иногда таким балуюсь. Если _без_ Swift3D то это наверное жутко геморройно было букавки по координатам вводить?
Посмотри мою тему здесь "Конкурс" |
прогрев проца:)90% на моём атлоне 3000+(это где текст)
такие вещи всегда глючили,но выглядели эффектно |
2TERRORist: да, с буковками пришлось повозиться, но зато лепота! :)
В принципе, если не лениться вводить вершины, то можно состряпать объект любой сложности (из прямоугольничков, ессно :)) 2E-mail: ну тут 2 варианта: либо много мегагерц, либо много килобайт :))) А вообще я думаю, что если покумекать, то нагрузку на проц можно снять раза в два-три. Займусь этим вопросом, а то на моем старом Атлоне1000 на полном экране такие штуки вообще безбожно тормозили (: |
2TERRORist: А насчет конкурса... Ну не знаю... По-моему не тянет пока мой креатив на "виртуальный мир", хотя может отдаленно где-то как-то и похож на примитивный движок, если особо не всматриваться :) Но в любом случае - файлики весом по нескольку килобайт кБ - имхо довольно вяленькая заявка на победу :D
|
не уменьшишь ты нагрузку на проц. в Rfe примерно тот же принцип (не могу сказать точно, т.к. твою ещё не декомпильнул) и всё дико тормозит на сложных объектах. это флеш. увы
|
хех на P4 3000 всего 35-38%
|
не это кодер виноват не должно быть такой нагрузки.
оптимизируй!) |
у меня похожая анимация (40 вершин у курв, дуги), вращение такое же, пожирала 5% от P 900мгц.
|
2Ion: Нагрузка на проц успешно снимается, уже есть заметные результаты :). Скоро выложу.
|
ну, как и я обещал, ролик с текстом стал давить на проц в 3 раза меньше, но потолстел на килобайт :) закон диалектики, епть!
спираль тоже вроде получше стала, но размер удалось уменьшить. но я не собираюсь останавливаться на достигнутом! (: всем тестерам два раза ку! |
я тоже исследую этот вопрос про рпограммное 3д во флэше!
Если можно расскажи какими ты способами уменьшал "давление" на процц! У меня куб вращался с ускорением с бешаной скоростью, на пне 1.3 , 50% Сейчас делаю плагин ,который будет переводить 3ds в as который можно будет просто подключить к 3d движку и юзать! |
Любапытно... Только из 3ds max вряд ли получится, там примитивы по параметрам строятся, а не по вершинам. Попробуй не из 3ds, а из *.vrml (это виртуальные странички в полном 3D я такие делал, галерею - как в музее, ходишь, смотришь на картинки) Виарэмэл содержит только координаты, полиговны только трехугольные или прямоугольные. Его можно и вручную писать, там все на поверхности. Посмотри в сети Cortona VTML.
Выходит 3DS MAX -> VRML -> AS |
Я делал плагин который из 3ds делал vrml, а следовательно могу сделать и as, пропустив звено vrml, 3ds -> as
|
ух ты. мощный моторчик!)
|
Цитата:
|
конечно..это будет все опубликовано, и даже алгоритм...для устранения ошибок и улучшения кода!
|
а исходник?
|
исходник чего?
я как понимаю это будет плаг к 3ds Max. |
а плаги на чем пишут?
|
2motor4ik:
Мы с тобой занимаемся совсем разными вещами. :) Я не работаю с 3D движком и вообще с трехмерной графикой. И если честно, в принципе не умею этого делать. :) Извини, если ввел в заблуждение. Я стараюсь добиться ЭФФЕКТА трехмерности тригонометрическими уравнениями и не более того :) Псевдо-3D короче. Ну хобби у меня такое. Так что после твоих постов о плагинах и 3ds мне даже стыдно говорить, как я уменьшил нагрузку на проц... Но раз ты просил, я все-таки скажу. Я всего-навсего поставил обновление геометрии не всех букв сразу, а только той, которая крутится :DD А еще округлил координаты, чтоб не гонять в двумерном массиве 20-значные числа. Вроде все очень глупо, но загрузка снизилась с 40 до 11-15% (пень4 530). |
что значит псевдо 3д и чем оно отличается от просто 3д! как я понимаю ты задаешь координаты и делаешь с ними аффинное преобразование, как ты сказал с помощью тригонометрии! :)
|
2motor4ik: А различие самое что ни на есть принципиальное. :) В трехмерной графике 3 оси координат, а в псевдотрехмерной - 2.
Эффект объемности объекта достигается различными ухищрениями с координатами Х и Y его вершин. Одним словом псевдо - это потому что нет координаты Z. |
не надо так загоняться по этому поводу. в сущности вся графика на мониторе - 2d, т.к. монитор плоский.
|
вот и я к тому же! просто делаешь проекцию на экран, в итоге то все 3д это проекция на экран рассчитывается 2д
|
но ведь то того, как ты сделаешь 2d проекцию (растеризация вроде называется) на экран, ты работаешь в трехмерном пространстве (с тремя проекциями). а я изначально делаю 2d графику (плоскую), которая прото выглядит как 3d. :) это понятно что 3d в итоге становится 2d, но тем не меннее это не мой случай
|
я понял, круто :)
|
Вложений: 1
А вот еще одно мое творение :)
На этот раз псевдотрехмерная тень! Хотел положить в конкурсе, но не смог утоптать в 1 кБ :) Зато теперь я знаю, что такое каноническое уравнение прямой в пространстве :) З.Ы. Кирпич ползет туда, куда кликнут мышкой. |
Прикольно, жаль, только, что положением лампы управлять низя
|
Да точно!
|
А почему бы не сделать так чтобы кирпич и по вертикали двигался?
|
ну кстати тень нет ничего проще...есть уравнения по которым она рассчитывается...:))) можно и источник двигать и предмет...:))) нет ничего проще :) как говорится...можно и велосипед изобрести сначала сделав мотоцикл и убрав с него мотор и добавив педали :)
|
С источником света нет никаких проблем - перемещается элементарно подстановкой новых координат. Просто лень было делать.
А вот в движении кирпича по вертикали я не увидел особого смысла, поскольку в этом случае при клике мышкой нельзя будет определить точку назначения (по той причинее, что их будет множество). А насчет того, что тени это просто..., типа формулы..., для кого-то может и легко. Да и я, кажется, не утверждал, что это было трудно ;) Однако это оказалось гораздо сложнее, чем я думал вначале, причем как раз не из-за расчетов, а из-за сугубо технических сложностей. А что касается мотоцикла... Так я-то как раз начинал все с нуля и сразу делал велосипед (даже скорее самокат), а не то что некоторые штатские: обложатся, понимаешь 3Д махами, а потом приспосабливают их под флэш :))) Тут даже не велик из мотоцикла, а тележка для навоза из Феррари :D Да и так просто полезно мозги размять - мы в школе вообще стереометрию не проходили. |
Прикольно, народец, творите, приятно смотреть. Я тоже одно время ударилсяв попытки написания 3Д-жвижков на Флэше, как увидел в инете всякие там симпотичные вращаюзиеся кубики-рубики, но как только дошёл до чего чуть по сложнее и побольше, то проц мой начал умирать (P-Iv 2.000), и понял я что неи ничего лучше, чем нарисовать объект в каком-нить 3Д-редакторе потом его покадрово отрендерить, картинки оптимизировать и воткнуть в мувиклип, пусть немного увесисто, но зато работает и даже почти не тормозит :).
|
да, молодец...:) прикольно :)
|
Упс. Насчет перемещения источника света я, кажется, облажался. Как начинаешь двигать - то деление на ноль, то еще чего...
Номально работает только при перемещении вправо-влево и то не до конца экрана :))) Придется покопаться. Не знаю, что придется менять, но изменения по-любому будут кардинальные :) З.Ы. Ну почему ничего никогда не получается сразу?? (я имею в виду там, где надо думать) :D |
хех, а вот тут и наступает моя очередбь :D
|
Вложений: 1
И вот я снова с вами! :)
Долго, однако, у меня ничего не получалось с 3д-тенями, так что я даже забросил все это дело, но вдруг пришло озарение и у меня получилось имхо что-то, что не стыдно показывать людям :))) Причем на этот раз даже нагрузка на проц умеренная - в ХТМЛе не больше 30% моего пня. А может получится снизить еще больше. Так что прошу любить и жаловать мой новый супер-пупер 3д движок с тенями :D Таким скорее всего будет новое оформление моего хомячка. |
класс, только по-моему на боковых стенах тени не совсем правильные получаются _))
|
2Марк: совершенно верно заметил! Это потому, что тень отбрасывают только передние полигоны буковок. Если обсчитывать от всей фигуры каждой буквы - нагрузка на проц зашкаливает.
А вот если работать с одним объектом-примитивом (кубиком, например), то нет проблем - все считается лихо, даже при вращении по нескольким осям. Попробую довести до ума, может удастся упростить вычисления. |
| Часовой пояс GMT +4, время: 23:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.