Просмотр полной версии : реализация отражения.
dietolog
03.07.2005, 19:57
Приветствую. Сразу оговорюсь, что не программист - просто столкнулся со следующей задачей:
Необходимо реализовать эффект отражения, но не дупликатом, а 2-мя различными мувиками. Первый - это сам объект (с постоянно меняющимися координатами, в переменных), а второй - сама тень. Вся сложность заключается в том, что необходимо учесть переспективу тени, и по вертикали и по горизонтали - к примеру, тень отбрасывается на вогнутый объект... Т.е. будет меняться не только форма (scew и scale) но и скорость движения по направлению к центру или от центра вогнутой области). Если долго объяснять (особенно мне) очень прошу помочь примером простенького исходника - мне важно основное направление понять... Заранее благодарен.
P.S. В поиске не нашёл, как ни пытался. В стандартных уроках по сети тоже нет.
TERRORist
03.07.2005, 20:04
бред какой-то. то отражение, то тень. я ничено не понял, и врядли такое можно запросто сделать...
dietolog
03.07.2005, 20:06
Ну нечто среднее между тенью и отражением - просто отдельный мувик. А что непонятного? "Просто" реализовать тень/отражение от вогнутого объекта. Вот только, правда, в подробностях...
KidsKilla
03.07.2005, 21:02
чувак, есть тень, есть отражение. тень отбрасывается в завивимости от положения источника света, а отражение еще и должно от чегото отражаться.
те чё надо, по русски скажешь? не можешь сказать -- нарисуй =)
dietolog
03.07.2005, 22:58
скорее всего надо не тень, а отражение от вогнутой плоскости. чуть позже попробую нарисовать
dietolog
03.07.2005, 23:24
Нужно что-то в роде этого. Даже, наверное, одного scale будет достаточно - слишком mc маленький.
a почему дублировать MC нельзя?
dietolog
04.07.2005, 15:38
Ну в принципе без разницы, дубль это будет или отдельный mc, но отражаться-то будет нижняя часть объекта, а если верхняя и нижняя части выглядят неодинаково? Главное мне надо разобраться с искажениями и с уменьшением расстояние от отражения до объекта при приближении к ценру отражающей фигуры.
KidsKilla
04.07.2005, 15:46
а не проще ли нарисовать ручками а скриптом ежели нато двигать каретку мувика? (mc.gotoAndStop(mc._currentframe+-1))
dietolog
04.07.2005, 16:09
Не, ты наверное, не понял - мне надо реализовать полностью идеинтичное отражение. Т.е. отражение по всем направлениям. К примеру муха летает вокруг вогнутой плоскости (камера находится прямо по центру над плоскостью) и получается что расстояние между мухой и её отражением будет неодинаковым - если она прямо по ценру, то отражение будет как бы под самой мухой и его будет не видно, а ежели муха где-нибудь в правом верхнем углу, то расстояние будет другим засчёт вогнутости поверхности... Короче ясно, помочь если и могут, то только за деньги... Видно реализация для вообще too Advanced =)
KidsKilla
04.07.2005, 16:47
охнифига ты замахнулся — этож 3д с рефлексами =)
в теории, канеш всё возможно, но мороки много. вопрос стоит ли оно того...
хотя в принципе точка регистрации в центре круглой хренулины. высчитываем расстояние и угол от неё, а там уже работа со skew...
dietolog
04.07.2005, 18:47
ну да, всё высчитывается относительно центра, только вот хотелось бы знать _как_. я не физик и не программист, к сожалению. но эффект бы, конечно, мог получиться интересный. буду думать над другим путём решения проблемы.
возьми муху - создай её тень( все серое)
приатачь её вслед за мухой. посчитай растояние от центра падения света до мухи.возьми ето растояние и исходя из него считай - размер тени, её координаты, её видимость.
охнифига ты замахнулся — этож 3д с рефлексами =)
в теории, канеш всё возможно, но мороки много. вопрос стоит ли оно того...
хотя в принципе точка регистрации в центре круглой хренулины. высчитываем расстояние и угол от неё, а там уже работа со skew...- skew ты тут не обойдешься - если объект круглый, то и отражение должно выгибаться, есть другой вариант - разбить весь клип на точки (по 1-й в кажном новом клипе), и расположить их друг относительно друга по какой-нить хитрой формуле, типа ближе к краям они должны быть уменьшены и расположенны плотнее.
dietolog
11.07.2005, 02:45
а в сети никто на аналоги подобной реализации не натыкался?
на такие, как я описал - точно нет, по проще - может и да, всего не упомнишь
http://www.anfyflash.com - тут много интересного, хотя все довольно просто
а в сети никто на аналоги подобной реализации не натыкался?
есть способ ище один... но это уже 3d хотя не полное...
типа шар будет нарисован... а вот отражение/тень будет поверх шара и как бы налепляться на невидимый 3d шар... эффект будет рульный... если отражаемый объект маленький (т.е. там муха и тп.) то кол во полигончиков мона повысить... и отличить будет невозможно...
но наложение текстуры во флешь :)))))) это просто бальшая запара... куча способов... т.к. skew программно сделать весьма не просто...
KidsKilla
13.07.2005, 02:50
т.к. skew программно сделать весьма не просто...
ага, почти нереально =)))
http://blog.onorange.com/?p=70
ага, почти нереально =)))
http://blog.onorange.com/?p=70
хыг :) блин уже 2 часа ночи... я тупо глядел в код по этой ссылке... и понял что он в принципе тока принцип создания skew дает... и все, а ты попробуй как тут http://www.deaff.nm.ru/myworks/Flash/Programm/Poligons/TweenPoligon.html
это самый простой метод наложения одного прямоугольного равнобедренного треугольника на произвольный...
метод не самый быстрый...
KidsKilla
13.07.2005, 03:07
а какое отношение эта хренулина имеет к skew?
а какое отношение эта хренулина имеет к skew?
очень простое :) тут кто-то предложил или намекнул... что это можно сделать с помощью 3d... а там где 3d там есть наложение текстуры... а там где есть наложение текстуры... там есть skew ;)
хыг :) блин уже 2 часа ночи... я тупо глядел в код по этой ссылке... и понял что он в принципе тока принцип создания skew дает... и все, а ты попробуй как тут http://www.deaff.nm.ru/myworks/Flash/Programm/Poligons/TweenPoligon.html
это самый простой метод наложения одного прямоугольного равнобедренного треугольника на произвольный...
метод не самый быстрый... сууууупер!!!! Правда, я так и не понял, как они это реализовали
сууууупер!!!! Правда, я так и не понял, как они это реализовали
ну тут нет ничего удивительного... :)
а они это я и мой коллего Михаил В.
реализовали мы скею многими способами... чтобы выявить наконец самый быстрый... сейчас я работаю над новым методом...
надо будет темку на форуме создать... посвященную этому делу...
Э-э, хва велосипед изобретать!
1) http://flash-ripper.com/archives/2004_06.htm
Качайте сразу класс (ссылка там есть). Обрати внимание на дату.
2) http://www.dembicki.org/path/index.html
Правда здорово? 80)
Вообще все это интересно и перспективно... Раньше думал, куда засунуть всю эту фигню с полигонами и прочим, где применять? Недавно увидел игру, которая все расставила по своим местам в моей маленькой глуппой голове 80)
http://lizasharikova.com/
Там движение героев производиться по заданой траектории! Очень забавно...
Кстати, ответ на вопрос... Все на том же сайте http://flash-ripper.com/, когда рассказывали про эту игру, обещали, что авторы игры расскажут про "Динамическое освещение и тени". Так что жди, товарищ 80) А в целом, трудновато будет реализовать НАСТОЯЩУЮ ДИНАМИЧЕСКУЮ ТЕНЬ, которая будет соответствовать всем физическим процессам... Ты правильно подметил, такое тебе сделают только за деньги! Как говориться, любой каприз за ваши бабки! 80)
хыг хыг и еще раз хыг :)
1. Андре сам велисапед изобрел... дисторт имадже класс... как то даааавно еще мой коллего Михаил доказал что андре использует тот же самый метод что и все остальные :) а метод прост - два мувика, один в другом, внутренний повернут на угол, внешний сжат по х и у вот и весь вилисапед... тока вот андре не додумался все это оптимизировать... хыг :)
2. http://www.deaff.nm.ru/myworks/Flash/Programm/Spline/moving_demo1.html
http://www.deaff.nm.ru/myworks/Flash/Programm/Spline/moving_demo2.html
по-моему мы тут тему изуродовали с этими палигонами и плавными движениями по плавным кривым...
хотя надо бы тему 3d то создать... в другом разделе... :)
Friday13
13.07.2005, 17:34
DEAFFF
http://www.deaff.nm.ru/myworks/Flash/Programm/Poligons/TweenPoligon.html
может хватит хвалиться молодой человек? Может стоит отработать алгоритм?
Если взять угол и перенести его через противоположную сторону, то начинаются глюки с корректным отображением;)
DEAFFF
http://www.deaff.nm.ru/myworks/Flash/Programm/Poligons/TweenPoligon.html
может хватит хвалиться молодой человек? Может стоит отработать алгоритм?
Если взять угол и перенести его через противоположную сторону, то начинаются глюки с корректным отображением;)
хм... я не хвастаюсь...
а глюнов нету... там реализован алгоритм невидимости грани...
т.е. треугольник видим тока с одной стороны ;)
Памоиму, лучший 3Д движок для Флеша - эт Real Flash Exporter
Насчет тени и освещения...
http://antonvolkov.com/flash/roomglow/ http://antonvolkov.com/flash/avatarshadow/
Кто-нибудь юзал 8-ку?
Насколько там эти моменты решают данную проблему?
а вообще Уже руки чешуЦа попробовать все это в деле... Кто прошареный, уже пробуют. Т.к. я все-таки ленив, то может кто-нибудь расскажет, как и где и с чем? - в какой среде разрабатывать апликуху для 8-го плейера?! Не очень хочется ждать IDEшки...
афигеть :) пошустрее стало вроде
прикольно, так скоро и до 3д дойдем, знать бы ещё в чем все это писать
c учетом выхода нового мтаска можно в эклипсе, а можно во флэше биты менять.
чё за мтаск и эклипс? на официальном ссайте ниче такого не видел
Eclipse MTASC в гугле поищи =) найдешь, там как в яве, тоесть весь код должен содержаться в классах, так что если не знаешь лучше учись пока в семерке ООП.
да нет, я классы изучал, хотя и недолюбливаю их...
DEAFFF, сменил бы ты аватору, смешная очень (не то что у тебя что-то с лицом, просто банально как-то) :D
DEAFFF, сменил бы ты аватору, смешная очень (не то что у тебя что-то с лицом, просто банально как-то) :D
да есть немного... :) так лучше?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.