Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 04.12.2010, 22:37   #1
Slayer
Нуждающийся
 
Регистрация: 23.09.2010
Сообщений: 54
Написано 8 полезных сообщений
(для 26 пользователей)
Не получается натянуть текстуру на террайн

Народ, кто нибудь пытался программно положить текстуру на программно созданный террайн?
Просто как не пробую, что то ничего не выходит.
(Offline)
 
Ответить с цитированием
Старый 04.12.2010, 22:44   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Не получается натянуть текстуру на террайн

Еще нет, но как-нибудь займусь. Есть один проект где это нужно. Но проект заморожен на неопределенный срок.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 04.12.2010, 22:46   #3
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Ответ: Не получается натянуть текстуру на террайн

http://blog.almostlogical.com/2010/0...on-in-unity3d/
Тут текстура вроде меняется
(Offline)
 
Ответить с цитированием
Старый 04.12.2010, 22:56   #4
Slayer
Нуждающийся
 
Регистрация: 23.09.2010
Сообщений: 54
Написано 8 полезных сообщений
(для 26 пользователей)
Ответ: Не получается натянуть текстуру на террайн

мне бы вот самому понять как с этими alphamap, splatMapData и т.д. работать и откуда их брать (у меня на террайне их нет), а по ссылке там такие тайны не раскрывают.
(Offline)
 
Ответить с цитированием
Старый 04.12.2010, 22:57   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Не получается натянуть текстуру на террайн

Так там вроде исходники есть?

UPD: На сколько я понимаю AlphaMap - это карта альфа слоев, с помощью которой смешиваются текстуры. При деформации тому слою, который должен быть отображен присваивается 1, остальным 0. Т.е. видимым становится только тот слой, который указан.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.12.2010, 00:03   #6
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Не получается натянуть текстуру на террайн

в жизни важнее натянуть вовсе не текстуру и совсе даже не на террайн. вот то проблема
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
ABTOMAT (05.12.2010), BlackOut (06.12.2010), Dream (09.12.2010), Harter (06.12.2010), Reizel (03.01.2011)
Старый 05.12.2010, 00:58   #7
Illidan
Разработчик
 
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений
(для 257 пользователей)
Ответ: Не получается натянуть текстуру на террайн

ээээ может я чего не понимаю, но что мешает просто заменить текстуру в материале терайна?
(Offline)
 
Ответить с цитированием
Старый 05.12.2010, 17:46   #8
Slayer
Нуждающийся
 
Регистрация: 23.09.2010
Сообщений: 54
Написано 8 полезных сообщений
(для 26 пользователей)
Ответ: Не получается натянуть текстуру на террайн

а как, можно маленький пример?
Дело в том, что я через скрипт создал объект террайна, растянул его как надо, по текстуре из flaten создал рельеф и теперь как назначить материал или текстуру данному объекту?
(Offline)
 
Ответить с цитированием
Старый 05.12.2010, 19:05   #9
Illidan
Разработчик
 
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений
(для 257 пользователей)
Ответ: Не получается натянуть текстуру на террайн

к сожалению я не знаю ответа. С террайном не работал и думал, что он как меш работает оказалось не так все.
(Offline)
 
Ответить с цитированием
Старый 05.12.2010, 19:16   #10
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Не получается натянуть текстуру на террайн

Изучая возможности нашего VIZIO по работе с TerrainData наткнулся на это:
http://unity3d.com/support/documenta...rototypes.html
http://unity3d.com/support/documenta...Prototype.html
думаю это то что Вам нужно.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.12.2010, 20:45   #11
Slayer
Нуждающийся
 
Регистрация: 23.09.2010
Сообщений: 54
Написано 8 полезных сообщений
(для 26 пользователей)
Ответ: Не получается натянуть текстуру на террайн

спасибо, буду пробовать, как что то получится - отпишу в общую копилку.
(Offline)
 
Ответить с цитированием
Старый 06.12.2010, 22:08   #12
Slayer
Нуждающийся
 
Регистрация: 23.09.2010
Сообщений: 54
Написано 8 полезных сообщений
(для 26 пользователей)
Ответ: Не получается натянуть текстуру на террайн

Ну вот ежели кому интересно, то в двух словах делаем так:
SplatPrototype[] test = new SplatPrototype[1];
test[0] = new SplatPrototype();
test[0].texture = (Texture2D)Resources.Load("Balmoral", typeof(Texture2D));
test[0].tileOffset = new Vector2(0, 0);
test[0].tileSize = new Vector2(15, 15);
//test[1] = new SplatPrototype();
//test[1].texture = (Texture2D)Resources.Load("grydirt2", typeof(Texture2D));
//test[1].tileOffset = new Vector2(0, 0);
//test[1].tileSize = new Vector2(15, 15);

terrain.terrainData.splatPrototypes = test;
terrain.terrainData.alphamapResolution = 512;
print(terrain.terrainData.alphamapHeight);

И получаем:
Миниатюры
Нажмите на изображение для увеличения
Название: screen3.jpg
Просмотров: 1100
Размер:	145.0 Кб
ID:	12044  
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 20:58   #13
Slayer
Нуждающийся
 
Регистрация: 23.09.2010
Сообщений: 54
Написано 8 полезных сообщений
(для 26 пользователей)
Ответ: Не получается натянуть текстуру на террайн

Вот выпало свободное время и опять пришлось вернуться к своей проблеме.
Пытаюсь смикшировать несколько текстур и не получается

обозначил splatmapData как:
int Tw = terrain.terrainData.heightmapWidth - 1;
splatmapData = terrain.terrainData.GetAlphamaps(0, 0, Tw, Tw);

назначил несколько текстур SplatPrototype как описал в посте выше.
В цикле бегу по высотам и пытаюсь в зависимости от высоты назначить разные текстуры:
splatmapData[x, y, 0] = splat.x;
splatmapData[x, y, 1] = splat.y;
splatmapData[x, y, 2] = splat.z;
splatmapData[x, y, 3] = splat.z;
И получаю ошибку:
IndexOutOfRangeException: Array index is out of range.
(wrapper managed-to-managed) object:ElementAddr (object,int,int,int)
test1.Awake () (at Assets/test1.cs:149)

Хотя если судить по разным кускам кода в инете у всех остальных таких проблем с таим кодом нет, в чем может быть проблема?
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 23:01   #14
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Не получается натянуть текстуру на террайн

Текстур на террейне создал 4?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 03.01.2011, 12:27   #15
Slayer
Нуждающийся
 
Регистрация: 23.09.2010
Сообщений: 54
Написано 8 полезных сообщений
(для 26 пользователей)
Ответ: Не получается натянуть текстуру на террайн

да, число текстур соответствует.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com