Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Трехмерность без Swift3D (http://www.flasher.ru/forum/showthread.php?t=68755)

Triskelion 04.09.2005 22:35

Трехмерность без Swift3D
 
Здравствуйте.

Я увлекаюсь созданием флэш-анимации средствами ActionScript (т.е. программно). С недавних пор загорелся идеей добиться эффекта трехмерности математическими методами и без использования дополнительных программ.
То, чего мне удалось достичь, лежит вот там:

http://www.newtown.ru/~nikel/flash.html

Хотелось бы услышать мнение единомышленников
(и просьба сильно не ругать, потому что я старался :)))

TERRORist 05.09.2005 00:08

Я тоже иногда таким балуюсь. Если _без_ Swift3D то это наверное жутко геморройно было букавки по координатам вводить?

Посмотри мою тему здесь "Конкурс"

E-mail 05.09.2005 13:55

прогрев проца:)90% на моём атлоне 3000+(это где текст)
такие вещи всегда глючили,но выглядели эффектно

Triskelion 05.09.2005 19:09

2TERRORist: да, с буковками пришлось повозиться, но зато лепота! :)
В принципе, если не лениться вводить вершины, то можно состряпать объект любой сложности (из прямоугольничков, ессно :))

2E-mail: ну тут 2 варианта: либо много мегагерц, либо много килобайт :)))
А вообще я думаю, что если покумекать, то нагрузку на проц можно снять раза в два-три. Займусь этим вопросом, а то на моем старом Атлоне1000 на полном экране такие штуки вообще безбожно тормозили (:

Triskelion 05.09.2005 19:42

2TERRORist: А насчет конкурса... Ну не знаю... По-моему не тянет пока мой креатив на "виртуальный мир", хотя может отдаленно где-то как-то и похож на примитивный движок, если особо не всматриваться :) Но в любом случае - файлики весом по нескольку килобайт кБ - имхо довольно вяленькая заявка на победу :D

Ion 05.09.2005 21:17

не уменьшишь ты нагрузку на проц. в Rfe примерно тот же принцип (не могу сказать точно, т.к. твою ещё не декомпильнул) и всё дико тормозит на сложных объектах. это флеш. увы

Dvaman 05.09.2005 22:14

хех на P4 3000 всего 35-38%

TERRORist 05.09.2005 22:22

не это кодер виноват не должно быть такой нагрузки.
оптимизируй!)

TERRORist 05.09.2005 22:29

у меня похожая анимация (40 вершин у курв, дуги), вращение такое же, пожирала 5% от P 900мгц.

Triskelion 05.09.2005 23:25

2Ion: Нагрузка на проц успешно снимается, уже есть заметные результаты :). Скоро выложу.

Triskelion 06.09.2005 01:48

ну, как и я обещал, ролик с текстом стал давить на проц в 3 раза меньше, но потолстел на килобайт :) закон диалектики, епть!

спираль тоже вроде получше стала, но размер удалось уменьшить.

но я не собираюсь останавливаться на достигнутом! (:
всем тестерам два раза ку!

motor4ik 06.09.2005 11:37

я тоже исследую этот вопрос про рпограммное 3д во флэше!
Если можно расскажи какими ты способами уменьшал "давление" на процц!
У меня куб вращался с ускорением с бешаной скоростью, на пне 1.3 , 50%
Сейчас делаю плагин ,который будет переводить 3ds в as который можно будет просто подключить к 3d движку и юзать!

TERRORist 06.09.2005 12:23

Любапытно... Только из 3ds max вряд ли получится, там примитивы по параметрам строятся, а не по вершинам. Попробуй не из 3ds, а из *.vrml (это виртуальные странички в полном 3D я такие делал, галерею - как в музее, ходишь, смотришь на картинки) Виарэмэл содержит только координаты, полиговны только трехугольные или прямоугольные. Его можно и вручную писать, там все на поверхности. Посмотри в сети Cortona VTML.

Выходит 3DS MAX -> VRML -> AS

motor4ik 06.09.2005 13:57

Я делал плагин который из 3ds делал vrml, а следовательно могу сделать и as, пропустив звено vrml, 3ds -> as

TERRORist 06.09.2005 14:07

ух ты. мощный моторчик!)

TERRORist 06.09.2005 14:08

Цитата:

Сообщение от motor4ik
Я делал плагин который из 3ds делал vrml, а следовательно могу сделать и as, пропустив звено vrml, 3ds -> as

Может поделишься успехами когда доделаешь? terro-t@yandex.ru

motor4ik 06.09.2005 14:39

конечно..это будет все опубликовано, и даже алгоритм...для устранения ошибок и улучшения кода!

Ion 06.09.2005 15:10

а исходник?

TERRORist 06.09.2005 15:16

исходник чего?
я как понимаю это будет плаг к 3ds Max.

Ion 06.09.2005 15:16

а плаги на чем пишут?

Triskelion 06.09.2005 21:38

2motor4ik:
Мы с тобой занимаемся совсем разными вещами. :) Я не работаю с 3D движком и вообще с трехмерной графикой. И если честно, в принципе не умею этого делать. :) Извини, если ввел в заблуждение. Я стараюсь добиться ЭФФЕКТА трехмерности тригонометрическими уравнениями и не более того :) Псевдо-3D короче. Ну хобби у меня такое.
Так что после твоих постов о плагинах и 3ds мне даже стыдно говорить, как я уменьшил нагрузку на проц... Но раз ты просил, я все-таки скажу.
Я всего-навсего поставил обновление геометрии не всех букв сразу, а только той, которая крутится :DD А еще округлил координаты, чтоб не гонять в двумерном массиве 20-значные числа. Вроде все очень глупо, но загрузка снизилась с 40 до 11-15% (пень4 530).

motor4ik 07.09.2005 11:10

что значит псевдо 3д и чем оно отличается от просто 3д! как я понимаю ты задаешь координаты и делаешь с ними аффинное преобразование, как ты сказал с помощью тригонометрии! :)

Triskelion 07.09.2005 18:13

2motor4ik: А различие самое что ни на есть принципиальное. :) В трехмерной графике 3 оси координат, а в псевдотрехмерной - 2.
Эффект объемности объекта достигается различными ухищрениями с координатами Х и Y его вершин. Одним словом псевдо - это потому что нет координаты Z.

TERRORist 07.09.2005 19:31

не надо так загоняться по этому поводу. в сущности вся графика на мониторе - 2d, т.к. монитор плоский.

motor4ik 08.09.2005 11:14

вот и я к тому же! просто делаешь проекцию на экран, в итоге то все 3д это проекция на экран рассчитывается 2д

Triskelion 08.09.2005 18:01

но ведь то того, как ты сделаешь 2d проекцию (растеризация вроде называется) на экран, ты работаешь в трехмерном пространстве (с тремя проекциями). а я изначально делаю 2d графику (плоскую), которая прото выглядит как 3d. :) это понятно что 3d в итоге становится 2d, но тем не меннее это не мой случай

motor4ik 08.09.2005 18:07

я понял, круто :)

Triskelion 18.09.2005 02:44

Вложений: 1
А вот еще одно мое творение :)
На этот раз псевдотрехмерная тень!

Хотел положить в конкурсе, но не смог утоптать в 1 кБ :)
Зато теперь я знаю, что такое каноническое уравнение прямой в пространстве :)

З.Ы. Кирпич ползет туда, куда кликнут мышкой.

Ion 18.09.2005 13:06

Прикольно, жаль, только, что положением лампы управлять низя

TERRORist 18.09.2005 13:25

Да точно!

Takato 19.09.2005 01:11

А почему бы не сделать так чтобы кирпич и по вертикали двигался?

motor4ik 19.09.2005 11:46

ну кстати тень нет ничего проще...есть уравнения по которым она рассчитывается...:))) можно и источник двигать и предмет...:))) нет ничего проще :) как говорится...можно и велосипед изобрести сначала сделав мотоцикл и убрав с него мотор и добавив педали :)

Triskelion 21.09.2005 21:18

С источником света нет никаких проблем - перемещается элементарно подстановкой новых координат. Просто лень было делать.

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

А насчет того, что тени это просто..., типа формулы..., для кого-то может и легко. Да и я, кажется, не утверждал, что это было трудно ;)
Однако это оказалось гораздо сложнее, чем я думал вначале, причем как раз не из-за расчетов, а из-за сугубо технических сложностей.

А что касается мотоцикла... Так я-то как раз начинал все с нуля и сразу делал велосипед (даже скорее самокат), а не то что некоторые штатские:
обложатся, понимаешь 3Д махами, а потом приспосабливают их под флэш :))) Тут даже не велик из мотоцикла, а тележка для навоза из Феррари :D

Да и так просто полезно мозги размять - мы в школе вообще стереометрию не проходили.

Zen 21.09.2005 23:35

Прикольно, народец, творите, приятно смотреть. Я тоже одно время ударилсяв попытки написания 3Д-жвижков на Флэше, как увидел в инете всякие там симпотичные вращаюзиеся кубики-рубики, но как только дошёл до чего чуть по сложнее и побольше, то проц мой начал умирать (P-Iv 2.000), и понял я что неи ничего лучше, чем нарисовать объект в каком-нить 3Д-редакторе потом его покадрово отрендерить, картинки оптимизировать и воткнуть в мувиклип, пусть немного увесисто, но зато работает и даже почти не тормозит :).

motor4ik 22.09.2005 12:28

да, молодец...:) прикольно :)

Triskelion 23.09.2005 00:20

Упс. Насчет перемещения источника света я, кажется, облажался. Как начинаешь двигать - то деление на ноль, то еще чего...
Номально работает только при перемещении вправо-влево и то не до конца экрана :)))
Придется покопаться. Не знаю, что придется менять, но изменения по-любому будут кардинальные :)

З.Ы. Ну почему ничего никогда не получается сразу?? (я имею в виду там, где надо думать) :D

motor4ik 23.09.2005 11:09

хех, а вот тут и наступает моя очередбь :D

Triskelion 10.12.2005 22:10

Вложений: 1
И вот я снова с вами! :)

Долго, однако, у меня ничего не получалось с 3д-тенями, так что я даже забросил все это дело, но вдруг пришло озарение и у меня получилось имхо что-то, что не стыдно показывать людям :))) Причем на этот раз даже нагрузка на проц умеренная - в ХТМЛе не больше 30% моего пня.
А может получится снизить еще больше.

Так что прошу любить и жаловать мой новый супер-пупер 3д движок с тенями :D

Таким скорее всего будет новое оформление моего хомячка.

Марк 11.12.2005 15:26

класс, только по-моему на боковых стенах тени не совсем правильные получаются _))

Triskelion 11.12.2005 16:33

2Марк: совершенно верно заметил! Это потому, что тень отбрасывают только передние полигоны буковок. Если обсчитывать от всей фигуры каждой буквы - нагрузка на проц зашкаливает.
А вот если работать с одним объектом-примитивом (кубиком, например), то нет проблем - все считается лихо, даже при вращении по нескольким осям.
Попробую довести до ума, может удастся упростить вычисления.


Часовой пояс GMT +4, время: 23:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.