Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.01.2012, 22:37
Parez вне форума Посмотреть профиль Отправить личное сообщение для Parez Найти все сообщения от Parez
  № 11  
Ответить с цитированием
Parez

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Цитата:
if you define your segments with all same length
Я вот не совсем понял, что в данном случае подразумевается под сегментом? Это отдельный объект LinearExtrude или сегмент от одной точки до другой?
Я предположил что-то такое:
Код AS3:
for(var i:uint = 0; i < totalHeight; i+=wallWidth)
{
 wallsVector.push(new Vector3D(0,i,0));
}
wallsExtrusion = new LinearExtrude(null,wallsVectors,LinearExtrude.Y_AXIS,wallWidth,3,false,wallWidth,3,multy,false,false,"");
Можете привести код для построения длинной вертикальной стены (к примеру) по принципу, который предлагает админ?

На данном этапе имеется вот это: http://parez.gixx.ru/Maze.html. Просто один объект LinearExtrude c четырьмя точками. Результат не особо устраивает.


Последний раз редактировалось Parez; 12.01.2012 в 22:45.
Старый 12.01.2012, 22:43
Dima_DPE вне форума Посмотреть профиль Отправить личное сообщение для Dima_DPE Найти все сообщения от Dima_DPE
  № 12  
Ответить с цитированием
Dima_DPE

блогер
Регистрация: Aug 2005
Сообщений: 178
Записей в блоге: 4
Цитата:
Сообщение от Parez Посмотреть сообщение
Я вот не совсем понял, что в данном случае подразумевается под сегментом?
Ага, точно, впомнил. В общем если у вас квадратная комната (сегменты одинаковой длины), то достаточно использовать один LineExtrude на всю комнату, т.к. текстура ляжет на все сегменты одинакого.

Под сегментов в вашем случае подрузомевается интервал от wallsVector[j] до wallsVector[j+1].

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

Добавлено через 5 минут
Вот например
http://dl.************/u/1036911/away...neExtrude.html
тут видно как каждый сегмент (стена) по разному растягивает одинаковую во всех случаях текстуру

Добавлено через 18 минут
Цитата:
Сообщение от Parez Посмотреть сообщение
На данном этапе имеется вот это: http://parez.gixx.ru/Maze.html. Просто один объект LinearExtrude c четырьмя точками. Результат не особо устраивает.
Результат очень даже не плохой, для начинающего! Многие и до этого не доходят.

Значит так, вы на правильном пути. Нужно всего лишь пару доработок

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

0--------0
| |
| |
| |
0---sf---0 // sf - это старт и финиш соответственно, т.о. все углы будут идеальные

2) текстура на стенах смотрится не плохо. (Согласны?) А вот наверху стен смотриться ужастно. Решить это можно с помощью множественных текстур. Пример есть тут https://raw.github.com/away3d/away3d...ExtrudeTest.as
Все что вам надо это:
Код AS3:
var multy:MultipleMaterials = new MultipleMaterials();
multy.front = wallTexture; // тут все таже текстура стены
multy.back = wallTexture;
multy.left = wallTexture;
multy.right = wallTexture;
multy.top = wallTopTexture; // а вот тут 
multy.bottom = wallTopTexture; // и тут другая текстура для верха и низа стен
 
// а потом 
 
_linearExtrude = new LinearExtrude(null, path, LinearExtrude.Y_AXIS, 250, 3, false, 200, 3, multy, false, false, "", false);
 // первый параметр null, а 9-й - наш крутой множественный материал
Только что понял, что вы именно эти множественные текстуры и используете.


Последний раз редактировалось Dima_DPE; 12.01.2012 в 23:06.
Старый 12.01.2012, 23:25
Parez вне форума Посмотреть профиль Отправить личное сообщение для Parez Найти все сообщения от Parez
  № 13  
Ответить с цитированием
Parez

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Спасибо за помощь)
Цитата:
0--------0
| |
| |
| |
0---sf---0 // sf - это старт и финиш соответственно, т.о. все углы будут идеальные
Да, со стартом и финишем хорошая идея)

Цитата:
Только что понял, что вы именно эти множественные текстуры и используете.
))Так-то оно так, только я всем поверхностям этого множественного материала задавал одну и ту же текстуру)


Последний раз редактировалось Parez; 12.01.2012 в 23:31.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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