![]() |
|
||||||||||
|
|||||
|
[++]
|
Я конечно вообще не в тему, но хочу спросить nuran'а, как ты реализовал определение видимости граней? В смысле видимости юзером? Просто пытаюсь сделать простенький движок...
|
|
|||||
|
to Dindin: лана, пободаемся еще раз
В ссылке на готовый класс (image distortion) у чела все сделано вот так (основа, нет смысла весь код приводить):v2.update = function () { var v5 = Math.atan2; var v7 = Math.sqrt; var v12; var v11; var v9; var v3; var v6; var v2; var v4; var v10; var v13; var v8; this._x = this.p0.sx; v11 = this._x; v3 = this.p1.sx - v11; this._y = this.p0.sy; v9 = this._y; v6 = this.p1.sy - v9; v10 = v5(v6, v3); v2 = this.p2.sx - v11; v4 = this.p2.sy - v9; v13 = v5(v4, v2); v8 = (v10 - v13) / 2; this._rotation = 57.29577951308232 * (-v8 + v10); this._yscale = 100 * Math.tan(v8); v12 = 70.71067811865474 / Math.cos(v8); this.innerClip._xscale = (v7(v2 * v2 + v4 * v4) / v12) * this.t_width; this.innerClip._yscale = (v7(v3 * v3 + v6 * v6) / v12) * this.t_height; }; А теперь найди десять отличий (старый исходник DEAF'а): x01 = x0-x1; y01 = y0-y1; x21 = x2-x1; y21 = y2-y1; alfa = Math.atan2(y01, x01)*180/Math.PI; beta = Math.atan2(y21, x21)*180/Math.PI; gama2 = (alfa-beta)/2; delta = 45-gama2; cosdelta = Math.cos(Math.PI/180*delta); sindelta = Math.sin(Math.PI/180*delta); this._rotation = alfa-90-gama2; this._x = x1; this._y = y1; this._xscale = (cosdelta-sindelta)*100; this._yscale = (sindelta+cosdelta)*100; this.v._rotation = 45; this.v._xscale = Math.SQRT(x21*x21+y21*y21); this.v._yscale = Math.SQRT(x01*x01+y01*y01); (здесь ниче не оптимизировано специально для наглядности..., если чуток подогнать, то будет фактически одно и тоже, что в верхнем исходнике) Так вот с какого фига модный класс, на который ты указал, будет работать быстрее, и лучше?????? Нифига подобного!!!! tpNucer: видимость полигона vid = (x2-x0)*(y1-y0)-(y2-y0)*(x1-x0); if (vid>0) {полигон видно} else {невидно}
__________________
Взгляд неискушенного зорче, слова ребенка честнее, простые пути - верны ... |
|
|||||
|
Да и вообще мне не интересно кто что сделал и как сделал, меня интересовал только конкретный ответ на мой вопрос (см. название топика), на который так никто и не ответил.......
__________________
Взгляд неискушенного зорче, слова ребенка честнее, простые пути - верны ... |
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
Цитата:
Бред? Ну ну. Кто бы говорил. Вы вообще тут кто собрались? Кто-нибудь что-нибудь понимает? Я про 3d и про всё остальное - геометрическое?
__________________
flash/flex/unity |
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
Цитата:
Они ведь только и могут - ссылаться на других. Это там про dindin, iLoveYou etc...
__________________
flash/flex/unity |
|
|||||
|
2MixailV
Цитата:
тем более что вопрос-то по существу риторический: байт код можно модифицировать солько угодно , но только до тех пор это остается понятным плееру, т.е. для реализации этой идеи надо модифицирвать еще и плеер, что убивает саму идею на корню и еще: введение подобных функций управления растрами дает несомненное удобство в кодировании, но прирост производительности отнюдь не очевиден,поскольку 'движок флэш плеера все равно все преобразования над клипом делает с помощью всего лишь одной матрицы трансформаций ' (кстати откуда информация мы так и не услышали) Последний раз редактировалось silin; 25.06.2004 в 12:09. |
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
Цитата:
Первым проходом ты убираешь все грани, вершины которых расположены не по часовой стрелке, вторым проходом ты сортируешь все оставшиеся по z глубине. Если используешь камеру, то z вычисляешь по направляющему вектору камеры. У меня здесь, на flasher.ru лежит движёк, который реализует убирание граней и сортировку их, но без камеры. Смотри здесь: http://flasher.ru/src/getswf_2731_1/ Или качай его прямо отсюда: http://flasher.ru/src/getfile_2731/
__________________
flash/flex/unity |
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
Про часовую стрелку есть тоже тут, на flasher.ru в моём уроке:
http://www.flasher.ru/tutorial/viewtut.php?id=156
__________________
flash/flex/unity |
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
Цитата:
__________________
flash/flex/unity |
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
Для MixailV.
У меня ещё круче код. Там не нужно вкладывать картинку в несколько MovieClip'ов, не нужно её размещать как то определённо (ну там повернуть на 45 градусов, или отцетрировать или ещё как нибедь над ней извращаться). У меня лежит один MovieClip в библиотеке. Далее, где нужно воспользоваться этой текстурой мы пишем: Далее, где нужно натянуть её, пишем Самое прикольное, что он сам определяет все размеры исходного клипа, можно даже его растянуть по ширине или по высоте, результат не изменится, и не важно - отцентрирован он или нет. Я не говорю, что это что-то новое, но это очень удобно, для игр там и прочего - любые размеры текстуры. Вот он есть здесь, но исходник я пока что не выкладываю, но можете взломать декомпилерром и посмотреть. http://nuran.org/lab/flash/0007.htm Если интересно конечно ...
__________________
flash/flex/unity |
![]() |
Часовой пояс GMT +4, время: 11:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|