|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
|
В Away3D текстура растягивается, вместо того, чтобы повторяться
Сегодня решил начать использовать Away3D в своём проекте и столкнулся с проблемой. Когда я создаю объект Plane с текстурой, которая должна повторяться (это указано при инициализации текстуры), текстура всё равно растягивается по размеру объекта Plane.
Вот код: |
|
|||||
Все правильно, у плейна координаты текстуры идут от 0 до 1, от одного края к другому и ему ничего повторять и не надо, чтобы вызвать повторения, надо эти самые координаты изменить. Попробуйте, что нибуть типа
plane.geometry.scaleUV(3, 3); // это по идее заставит вашу текстуру 3 раза повторится |
|
|||||
Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
|
Dima_DPE, в новых версиях метод scaleUV имеет только один параметр scale:Number. Это очень странно и раздражает.
|
|
|||||
Чтото глядя сюда https://raw.github.com/profelis/away...se/Geometry.as я вижу именно scaleUV, а это последняя версия Geometry из master ветки и отдельно scale, но это уже для масштабирования непосредственно геометрии, а не координат текстур.
Или идите напрямую к subGeometries и меняйте там. https://raw.github.com/profelis/away...SubGeometry.as Последний раз редактировалось Dima_DPE; 12.01.2012 в 18:24. |
|
|||||
Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
|
Dima_DPE, да, вы правы. Видимо у меня была не последняя версия. Теперь скачал последнюю с github и всё нормально. Кстати, вы не знаете, как задать разные scaleUV для разных поверхностей куба или другой фигуры?
|
|
|||||
Самый простой вариант это сделать свой куб и добавив ему нужный функционал. Я бы посоветовал взять стандартный примитив куб и посмотреть в нем метоб buildGeometry или чтото в этом роде. И в месте где создаются uv координаты попробовать пошаманить
|
|
|||||
Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
|
А с классом LinearExtrude дело обстоит так же?
|
|
|||||
Не, buildUVs надо смотреть по всей видимости.
Добавлено через 7 минут LinearExtrude хоть сам и использую, но сильно его не люблю. В других экслудерах можно передать дополнительные масштабы для uv координат, а в нем нельзя. Так что, тут снова scaleUV ручками Для постоения стен мне пришлось каждую стену сделать отдельно иначе там вообще с uv не разобраться и "обои" на стены красиво не наложить. По идее если у вас не сложная геометрия и вы в состоянии сами расчитать им координаты вершин и uv координаты, то может стоит самому собрать меш используя MeshHelper.build(). Последний раз редактировалось Dima_DPE; 12.01.2012 в 21:55. |
|
|||||
Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
|
Цитата:
Вот что написал админ: Цитата:
|
|
|||||
Цитата:
Но раньше я делал каждую стену отдельно этим же экструдером и отдельно масштабировал uv координаты в зависимости от длины стены. Выглядело это примерно так: (год писал с головы и многое упростил) |
Часовой пояс GMT +4, время: 12:48. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|