Що сталося з процедурно створеними текстурами? [зачинено]


23

Пригадую, деякий час тому, що процедурно створені текстури ставали великою справою, що багато людей / компаній насправді зацікавились деякими серйозними перевагами (менші розгортання, потенційно швидше завантаження, вища якість, масштабовані текстури, потенційно дешевше виготовити тощо). ).

З того, що я можу сказати, гул мертвий, і жодна гра на моєму радарі не використовує їх. Що сталося?

Я сподівався, що я побачу, що процедурні текстури йдуть таким чином, як це має NaturalMotion (повільне, але стійке прийняття).

Відповіді:


14

Інструменти створення вмісту для процесуального текстурування стали найбільшою перешкодою. Виконавець дуже швидко збирає речі у Photoshop і потенційні вигоди від текстурування процедур не перевищують збільшення часу створення вмісту.

Allegorithmic ( http://www.allegorithmic.com/ ) має кілька цікавих інструментів, які вони розробили, щоб спробувати зробити процедурні параметри більш зручними для користувачів. Не грав з ними достатньо, щоб дійсно коментувати їх зручність.


1
Аллегоритмічна компанія, про яку я вперше почув, коли потрапила бомба, і в їхньому списку клієнтів є великі гравці, але, враховуючи, що вони давно працюють в бізнесі, це все ще досить мало.
Стівен Еверс

1
Продукти речовини "Аллегоритмік" виглядають дійсно добре. Якщо ви подивіться на відео, знайдене тут: allegorithmic.com/?PAGE=PRODUCTS.designer
Nailer

4

Втрата художнього контролю та збільшення розмірів варіантів зберігання зробили це важким продажем. Це, плюс вам доведеться перекваліфікувати художників, а ви найняли їх на те, що вони були хорошими в традиційному текстуруванні. Якщо розмір чи унікальна текстура насправді не є проблемою, загалом небажано йти процедурним шляхом.


3

В основному, великі гармати не підтримують його, тому його не використовують багато. Були круті речі (хоч і трохи старі), як-от .kkrieger, але час завантаження цього (ще в той день) був реально повільним, оскільки він мав генерувати всі текстури під час завантаження.

Ми можемо побачити щось чи інше в двигунах наступного покоління (Unreal 4 і т. Д.), Але я не думаю, що виграш проти розвитку досить великий.

У світі AAA є приклади, наприклад, Spore процедурно створює текстури та анімацію для створених вами істот.


3

Текстура процедур страждає від того, що художній директор не може надійно вказати на роботу художника і сказати, "будь ласка, зробіть цю частину ще трохи X". оскільки система процедурного затінення може не підтримувати X дешево або зовсім.

Наприклад, цегляний шейдер може підтримувати чисту коричневу цеглу, але може не підтримувати цеглу, яка була пофарбована рекламою 80 років тому та графіті 10 років тому. Або це може не підтримувати наявність однієї фіолетової цегли з 1000 коричневих цеглин. Саме в цьому місці, тому що це сподобається смаку художнього директора.

Справжня текстура може, звичайно, підтримувати всі ці речі, і в цьому сенсі справжня текстура перевершує процедурну текстуру.

Процедурна фактура здійснює художній контроль через перевагу певних випадків використання перед іншими. Справжня текстура мало контролює таке.

Однак апаратне забезпечення GPU має велику перевагу до процесуалізму, оскільки пам'ять текстури знаходиться на стільки циклів від блоків ALU, що роблять затінення.


Мені це важко ковтати. Це не обмеження процедурних текстур, що цегла не може бути іншого кольору, ніж решта, це обмеження технології впровадження. Звичайно, я можу погодитись, що в якийсь момент надто конкретизація буде переважувати переваги того, щоб робити щось поступово, але це крім того.
Кевін Пено

Один цегла може бути поганим прикладом, але інші його приклади справедливі. Визначити новий алгоритм для невеликої зміни «відчуття» текстури дуже дуже складно і забирає багато часу, але художник дуже дешево і легко може просто змінити. Майте на увазі, що інженерам, як правило, платять вааааааай більше, ніж художникам, тому інженерний час, витрачений на те, що художник може зробити швидше, просто нерозумно.
Шон Міддлічч

@SeanMiddleditch, інженерам можуть платити більше, ніж художникам, але різниця полягає в тому, що - як тільки інженер написав код, його можна буде використовувати повторно , без зайвих витрат. Тому, хоча може знадобитися час, щоб розробити процедурний генератор, який можна змінити, аж до індивідуального рівня цегли - як тільки це буде зроблено, він буде вільний у використанні. Якщо компанія платить артистам за окремі зміни, вони повинні будуть продовжувати робити це за кожну нову вимогу щодо змін, на відміну від автоматизованого рішення.
Циклоп

2
@Cyclops: удачі в тій магічній супер процедурі, яка дозволяє робити вимогливі навмисні деталі, які може виконати художник. Я з нетерпінням чекаю прочитати ваші новаторські дослідницькі роботи, коли вона випущена, і врешті-решт ліцензуватимуть ваш художник-застарілий über технік. :)
Шон Міддлічч

1

ну все ще здається чудовою ідеєю для ігор. Оскільки ви можете процедурно генерувати текстури під час руху, щоб світ навколо плеєра виглядав природніше. Не потрібно великих даних. Це можна впевнено використовувати для збільшення навіть роздільної здатності


0

У вас є типовий обмін пам'яті часу . Ну, хочете чи ні, процедурна генерація торгує часом процесора для збереження пам'яті. Насправді, коли зберігання стає дешевшим і люди завжди хочуть скоротити час завантаження, тенденція полягає в тому, щоб піти навпаки - попередньо вироблені або сфотографовані активи споживають пам'ять в обмін на швидкість.

Чи завантажується jpg швидше, ніж процедурно створена версія? Швидше за все, так . Якщо jpg становить 2 Мб, і ви завантажуєте його один раз, навіщо вам заважати процедурним? Під час виконання текстура так чи інакше займає стільки ж оперативної пам’яті (нестиснута і завантажена в пам'ять GPU)


JPEG навряд чи завантажується швидше, ніж більшість алгоритмів процедурної текстури. Часи доступу до диска значно перевищують час обробки процесора / графічного процесора, і оскільки ніхто з розумом не використовує JPEG для текстур і використовує стисліші текстури, більш оптимізовані для GPU, з попередньо обчисленими шарами mipmap, час завантаження диска ще гірший для реальних текстур. Є причини, чому процедурні текстури смокчуть (згадується в інших відповідях), але час завантаження зазвичай не одна з них. Я впевнений, що, звичайно, існують винятки для особливо складних або неефективних алгоритмів.
Шон Міддлічч

Так, як .dds Я просто використав JPG як приклад. Моя думка полягає в тому, що це процедурне покоління крутого вигляду бруківки, або води, або дерев у лісі, використовуючи L-системи, або все, що займає еони довше (але вміщається в 96 к!), Ніж просто завантаження вмісту на диск, тоді ніхто не захоче йти на це маршрут, просто скоротити час завантаження.
bobobobo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.