* * * Форумы на Наша-Life THREAD * * * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- THREAD : А-ля Speed Tree Started at 24-02-2009 17:46 by FishMan Visit at https://bbs.hl-inside.ru/showthread.php?threadid=49383 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 1] Author : FishMan Date : 24-02-2009 17:46 Title : А-ля Speed Tree Давно вынашиваю эту идею. Наверное многие играли в такие игры как Oblivion, Fallout 3, Gothic 3 и т.д. где использовалась технология [url=http://www.speedtree.com/]Speed Tree[/url], фишка которой заключается в очень низкополигональных моделях различной фауны, которые выглядят сверх реалистично. В плане реализации (возьму как пример кустарник) - это что-то вроде каркаса, 3Д модели, обвешенной спрайтами (каждый спрайт - "круглая" текстура листвы), которые всегда ориентированы либо параллельно экрану, либо в фиксированном относительно экрана положении и с увеличением расстояния очень резко переключают свои MIPы. Вращаясь (а вернее колеблясь) вокруг своего центра они создают эффект колыхания на ветру или же эффект воздействия какого-то объекта, например последствия того, что кто-то прошёл сквозь куст. На самом деле ребята изобрели велосипед, подобная техника создания деревьев использовалась ещё в ХЛ1 модах. Использовалась она как минимум мной, при разработке проекта Sacred War, который правда так и не был доведён до конца. Так вот, у меня появилась идея очень давно и тут я подумал вынести идею на обсуждение... Движок подобное может, доказательство тому - detail'ы генерируемые движком, плюс возможность заставлять полигоны заранее созданой модели, используемой, как детайл, вести себя как сгенерированный движком спрайт. Идея заключается в том, чтобы заставить полигоны модели в материале (vmt) которых прописан какой-то особенный ключ, вести себя, как спрайты. Тогда можно будет создать текстуру листвы в виде шарика и просто обвесить такими полигончиками каркас (ветки) 3Д модели. Замечательность такого подхода заключается в том, что модель выглядит одинаково сложно, на каком бы расстоянии не находился игрок и под каким углом он бы на неё не смотрел, при этом колличество полигонов меньше, потому что они все накладываются друг на друга. Второе моё представление реализации данной фишки - это энтитя по типу prop_static, в которую загружается модель с аттачментами, где в месте аттачмента генерируются спрайты с листвой... Интересно послушать мнение наших экспертов по этому поводу... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 2] Author : manJak Date : 25-02-2009 09:44 Кой-чего не понял в твоих рассуждениях.. Щас будем прояснять. :) > возможность заставлять полигоны заранее созданой модели, используемой, как детайл, вести себя как сгенерированный движком спрайт Какбэ wtf. оО Чтобы вращать полигон как спайт, надо знать точку вращения. Она вычисляется либо движком для каждого полигона модели (что бред :)) и передаётся в вершинный шейдер, либо в геометрическом шейдере, коими мы не располагаем вовсе. Вопчем поясни, что ты имел ввиду) Как следствие из этого, просто ключиком в vmt тут не обойдёшься.. Это скорее должно быть свойство самой модели, прописанное в блоке keyvalues куцэшника. Далее.. Для размещения спрайтов слишком геморно было бы развешивать аттачменты, учитывая, что они являются лишь точками. Для этого лучше юзать сам скелет. Например, именовать кости, которые должны озелениться, по специальному шаблону типа "Branch№", чтобы в коде была возможность перебрать произвольное их кол-во. А развешивание и анимацию спрайтов лучше и вовсе доверить пресловутым партикловым системам) А вообще, я бы отложил игры с листвой до появления геом. шейдеров в сорсе. :D Такой экспромтик) Серьёзно ничего не обдумывал, мысли приходили в процессе написания. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 3] Author : FishMan Date : 25-02-2009 10:00 Че за геом. шейдеры? Оо И ты уверен, что они вообще появятся. Ну как бэ, спид три к Хл2 подключается по слухам, был один проектик (что-то там про вторую мировую, название не припомню, один из тех что "станет коммерческим, когда найдём издателя"), мне его разработчики говорили, что где-то надыбали пиратскую версию SpeedTree и подключили её к ХЛ2. [quote] возможность заставлять полигоны заранее созданой модели, используемой, как детайл, вести себя как сгенерированный движком спрайт[/quote] Тут я имею ввиду, что если создать модель, прописать ей vp_parallel (или что-то там такое в vbsp прописывается) и сунуть её в details.vbsp, то после компиляции все полигоны этой модели будут параллельны взгляду игрока по оси z перпендикулярно x и y (короче говоря крутятся вокруг оси z), т.е. имеем полное игнорирование их собственной ориентации в пространстве, а вот относительно какой точки вращение происходит я хз... Иными словами, можно заранее созданную модель с помощью details.vbsp заставить вести себя как спрайт. Т.е. я намекаю на то, что это возможно. [quote]по специальному шаблону типа "Branch№"[/quote] Ну в этом случае ведь, каждый спрайт который будет вешаться на модель будет отдельной энтитей, так? Намёк на расход ресурсов... Если такое кто-то сделает - ооочень сильно поможет, ибо делать деревья, Саня (Stone), знает какой гемор, он подтвердит, чуть не так полигон повернёшь - выглядит ужасно плоско. В общем при создании Low Poly деревьев, кустов и прочих фолиажей - работа гигантских объёмов. А так останется только сделать каркас и текстуру листьев в виде шарика. И всё должно быть просто, в плане создания таких моделей. На грани прописывания одного параметра... Это, маньяк, а нельзя вычислять центр по вершинам? Например, найти полигон к которому применён такой-то известный материал и найти координаты 4 вершин, которые его образуют из них уже вычислить центр полигона. Так нельзя? Ещё есть идея типа vbsp только для моделей, чтобы рандомно, но в рамках заданных правил размещать листву на моделях. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 4] Author : manJak Date : 25-02-2009 10:11 > Че за геом. шейдеры? [url]http://en.wikipedia.org/wiki/Geometry_shader[/url] ) > разработчики говорили ... А показывали? ^_^ > все полигоны этой модели будут параллельны взгляду игрока Надо самому попробовать. О_о Мб и правда движок из них спрайты делат)) > каждый спрайт который будет вешаться на модель будет отдельной энтитей, так? Нее, зачем же. Всё без энтитей. В общем, надо глазами посмотреть как модель листвы себя поведёт в роли спрайта. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 5] Author : FishMan Date : 25-02-2009 10:19 [quote]А показывали? ^_^[/quote] Сослались на тайну. [quote]Надо самому попробовать. О_о Мб и правда движок из них спрайты делат))[/quote] Ну ты мне не веришь чтоли? Я случайно это обнаружил, когда нашу траву делал, сначала думал моделями её сделать и поймал вот такую забавную вещь, не убрав какой-то параметр, потом долго от этого избавиться пытался. [quote]В общем, надо глазами посмотреть как модель листвы себя поведёт в роли спрайта.[/quote] [url=http://www.speedtree.com/gallery/videos.php]Качай[/url] и смотри. И пост выше перечитай. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 6] Author : FishMan Date : 25-02-2009 10:25 Скриншот. [size=1][i]FishMan добавил [date]1235557901[/date]:[/i][/size] А [url=http://www.speedtree.com/downloads/exe/TheValley_v1.1.exe]вот[/url], прямо дему можно скачать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 7] Author : manJak Date : 25-02-2009 12:03 > Так нельзя? Не(( Из игровых библиотек ничего такого с моделями сделать не удасться.. > Ещё есть идея типа vbsp только для моделей Ты имеешь ввиду расставлять листики компилятором, как траву? Не, нафиг.. Детейлы по одному рендерятся, а не батчем => тормоза адские даже при совсем небольшом их кол-ве. А тут на одно дерево таких "травинок" надо до чёртовой бабушки.. Имхо, единственный более-менее реальный вариант сейчас - это партикл-системы, они хоть рендерятся шустро) > ты мне не веришь чтоли? Да нет, просто сам хочу увидеть как это выглядит) > Качай и смотри. Тут я про то же - надо поглядеть именно на сорсовские спрайто-модели. Покажешь? :) А демку ща посмотрю. [size=1][i]manJak добавил [date]1235564438[/date]:[/i][/size] Нда, круто. О_О -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 8] Author : FishMan Date : 25-02-2009 12:56 А у мя сцобако не запускается =\ Сорсовский фейк тест вариант сделаю, благо спрайты сами можно в хаммере расставить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 9] Author : Uragan_Lex Date : 25-02-2009 23:16 Имхо лучше бы просто нормальное освещение деревьев (моделей, отбрасывающих тени на самих себя плюс [url=http://www.crymod.com/uploads/mediapool/realfor/1.jpg]эффект рассеяного света с обратной стороны листвы[/url] - матовая прозрачность в общем) + убрать потери на фпс при рендеринге отдельных моделей. Думаю всетаки будущее за большим поликаунтом и удобным инструментарием работы с ним (заточка под деревья и т.п.) нежели за фейками.... Мне ощутимо больше нравятся деревья из кризиса (безовсякого спид трии) нежели в обливионе. [url]http://crymod.com/thread.php?threadid=44077[/url] :D -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 10] Author : FishMan Date : 26-02-2009 04:08 А мне вот не нравятся. Царство плоскостей... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 11] Author : FishMan Date : 26-02-2009 06:57 Фэйк тест на сорсе (каркасная модель + env_sprites). Блин почему-то с моей текстурой не хочет vp_parallel работать =( Если снизу смотришь, видно, что это плоскости... =( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 12] Author : FishMan Date : 26-02-2009 08:15 Сделал небольшой лесок, добавил ХДР... В общем в условиях приближенных к боевым: [size=1][i]FishMan добавил [date]1235637543[/date]:[/i][/size] Проблемы следующие: Не просчитываются тени от листвы, только от стволов деревьев. Так как это UnlitGeneric спрайты, то и у самой листвы нет никаких теней, а-ля FullBright... Я думаю решить эту проблему можно, если изначально просчитывать отбрасываемые тени для модели в Idle положении (когда все плейны параллельны проскости земли), а потом уже (в игре) начинать вертеть их, как спрайты. Для самой листвы считать освещение, как для vertexlit плейнов. Так как она всегда будет "лицом" к игроку, то никаких проблем с Nocull-овской любовью затенять листву с обратной стороны так же как и с лицевой стороны, не будет... Круто, конечно, было бы на период компиляции повернуть всю листву лицом к солнцу (обратный угол падения лучей вот Light_Environment), но сдаётся мне это не реально... Жду комментов... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 13] Author : Uragan_Lex Date : 26-02-2009 09:33 Последний скрин достаточно красив и собсно я начал вьезжать в выгоду - у хвойных пород обьемные ветки и полигонами их будет сложно эмулировать... хвойные в кризисе в принципе тоже хороши - [url]http://www.moddb.com/mods/parallel1/images/june-wip-media5#imagebox[/url] - но в сорсе ведь не реал переделать освещение, по этому смысла в моем предложении нету; паралельные спрайты же можно закодить. К стати, а если перевести спрайты в режим Additive - чисто для эксперимента - что получится с нижним скрином? :D -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 14] Author : FishMan Date : 26-02-2009 09:40 Лампочки получатся =) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 15] Author : KLIMaka Date : 26-02-2009 10:01 Фиш, а видео снять не можешь, для наглядности? Просто интересно как это может выглядеть на сурсе и в какую сторону грести нужно, чтобы вышло что-то достойное. А еще лучше - исходничек карты )) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 16] Author : FishMan Date : 26-02-2009 10:56 Вот [url=http://ifolder.ru/10751023]тут[/url] архив, пасс выслал в личку тебе и Маньяку. В своих проектах - не использовать... Там контент из OBA, довольно много сил положено на него, не хочу, чтобы какой-то умник потом это на своей карте расставил... Если чего-то будет не хватать - напиши. [size=1][i]FishMan добавил [date]1235648073[/date]:[/i][/size] [url=http://developer.valvesoftware.com/wiki/Particles_On_Models]Ещё один вариант[/url]. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 17] Author : KLIMaka Date : 26-02-2009 12:38 Ну вот некие мысли вслух... Сделать модельку ствола. Затем вместо расставления спрайтов в хаммере, расставить в нужных местах модели квады со спец материальчиком. Для материальчика написать шейдер, который будет вертеть квады куда нужно, дергать их от ветра и осуществлять лод-контрол. Некоторые детали вариант 1. Расставляем на дереве в точках, в которых нужны куски кроны четверки вершин, с одинаковыми координатами (четыре вершины, слитые в одну) и с разными текстурными координатами (0,0; 0,1; 1,1; 1,0;). Затем в вершинном шейдере разворачиваем из этих четверок билборды и радуемся жизни. Качаем от ветра и т.д. при удалении перестаем качать. вариант 2. Расставляем уже не четверки, а восьмерки, шестнадцатки, которые будут разворачиватся не просто в плоскость, а в несколько пересеченных плоскостей, что само-собой добавит объема. Телепаем их от ветра и т.д. На расстоянии разворачиваем не все надцать плоскостей, а только одну, тем самым экономя филлрейт. Вроде такого подхода я видел в обливионе, но было это давно и забыл уже как оно выгдлядит. Насчет теней навскидку сказать не могу, ибо это вирей править нужно... Ну вот в принципе пока так... Но этовсе опять-же пустое сотрясение воздуха... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 18] Author : FishMan Date : 26-02-2009 13:26 Что-то мне не нравится слово "шейдер". Это ведь снова приведёт нас в каменный еп1 век... =\ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 19] Author : KLIMaka Date : 26-02-2009 13:44 А что делать? Я считаю преступлением обсчет на ЦПУ того, что можно с легкостью обсчитать на ГПУ. При том что вообще эта техника на ЦПУ не представляется возможной (в рамках ССДК и моих знаний о нем ). Если без шейдеров - то единственный приемлемый вариант - партикли... Но это тоже вопрос большой. Как там оно обстоять будеть - хз... Больше вменяемых вариантов я не вижу... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 20] Author : FishMan Date : 26-02-2009 18:12 Блин куда не плюнь всё упирается в незарелизенные исходники шейдеров =\ Попробовать партиклами чтоли? Оо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 21] Author : manJak Date : 26-02-2009 19:35 > эффект рассеяного света с обратной стороны листвы Будут исходники шейдеров, будут и шейдеры)) Эхх. > Фэйк тест на сорсе Ы! Очень недурственно выглядит. Мапу ещё, правда, не смортел. > Ещё один вариант. Я почти про это и говорил) Только вместо аттачментов использовать скелет. А пока можешь и с аттачментами попробовать. :) Тем не мене, вариант 1 Клима звучит наиболее трезво. Тут главное метко расставить квады, чтобы, схлопнувшись, они оказались где надо. Или так: Стоун напишет на максскрипте инструментик для расставления пачек вершин одним кликом. =) И что касается теней.. Враду можно скармливать список оверрайдов материалов (или вбсп.. не помню) ). Думаю, с моделями можно попробовать сделать то же, чтобы тени отбрасывались от одной модели, а на карту становилась другая. Как вариант - посмотреть, может ли рад бодигруппы переключать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 22] Author : FishMan Date : 27-02-2009 17:58 Тут кое чего по этому поводу на геймдеве обсуждалось, я не вчитывался, но вроде что-то интересное. [url=http://www.gamedev.ru/code/forum/?id=16699]Ссылка[/url]. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 23] Author : KLIMaka Date : 28-02-2009 16:48 "Тут главное метко расставить квады, чтобы, схлопнувшись, они оказались где надо" Ну собсно, кавды расставлять не нужно, нужно эти четверочки просто расставить там, где предпологаешь центр вилборда. Вот хорошо было бы если б кто-нить своял по такому принципу деревце. Ну в принципе не деревце, а просто палку с ветками и четверками на ветках. Можно было б тогда с чего нить начать... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 24] Author : manJak Date : 28-02-2009 17:35 > хорошо было бы если б кто-нить своял по такому принципу деревце Щас, вроде как, тему Stone читает. Надеюсь, предложение наскриптитиь инструмент воспримет серьёзно)) Тогда даже я смог бы понавтыкать листьев в любое хл2шное дерево. А дальше кодить шейдер под эп1. KLIMaka, у тебя с модельными шейдерами рабочий "пайплайн" налажен? :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 25] Author : Stone Date : 28-02-2009 18:09 Во-первых - про тени от листвы. Игорь - а в чем проблема-то? 0о По крайней мере если ты о тенях на земле, то вот они: "-textureshadows" в списке параметров vrad.exe forcetextureshadow имя_модели (!) - в lights.rad, например "forcetextureshadow props_foliage_ba/ba_tree_pine001b.mdl" Я еще люблю "-staticproplighting" и "-staticproppolys" ставить, чтобы тени для статики запекались, причем на основе их реальной геометрии. ----------- С 4мя точками все может оказаться совсем не так просто.. Следом вышло западло, что называется, хмм... SMD-формат не поддерживает отдельные точки - только полигоны. Т.е. либо они не экспортируются, либо превращаются в полигон, в котором все вершины сколлапсены. Тут еще важно помнить. что должен быть натянут материал. Посему возможен вариант, что для создания 4х точек придется создавать 2 полигона, ну и дописывать это напрямую в smd, если экспортер нас не полюбит. Дальше в свои законные права вступает следующее звено - studiomdl. Эта штука, насколько я себе представляю ее работу, прекрасно так убивает лишние кости, и по-моему благополучно weld'ит вершины.. Но нужно проверять, опять-таки.. Ну и еще одно - куда вешать точки все-таки? К косточке привязывать? Я по мере наличия времени попробую разведать почту по первым пунктам, а вы все же мне скажите, нормально ли иметь два полика вместо четырех вершин, и к чему их цеплять.. Да, кстати.. SMD-экспортер, если его удастся приручить, сам умеет генерить кости для объектов, вручную расставлять не придется. Ну а если и не умеет - то наверное тоже не придется) Если уж пользоваться скриптом - то это вполне можно сделать и самому. Теоретически) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 26] Author : manJak Date : 28-02-2009 20:41 > SMD-формат не поддерживает отдельные точки - только полигоны Дык нам полигоны и нужны, что же мы рендерить тогда будем? :D Нужно создать квад, назначить вершинам текстурные координаты (0,0), (0,1), (1,0) и (1,1), но! поместить все четыре вершины в одну точку. Правда тут действительно может возникнуть затык с компилятором.. Как он отреагирует на дегенеративные трианглы? Если он их попросту убъёт, то придётся оставлять квад не сколлапсенным, расположив вершины на чётко определённом смещении от точки крепления (соответственно текскоордам), чтобы шейдер правильно рассчитал эту точку. Вот.. > куда вешать точки все-таки? Просто на рут-кость, как остальную геометрию. Кости вообще не нужны (если, конечно, ветки и ствол не анимировать). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 27] Author : FishMan Date : 28-02-2009 21:02 У статиков все кости убиваются, остаётся только одна, соответствующая центру осей координат ей назначается имя static_prop, соответственно никакой анимации быть не может... По идее сколапсить не должен... А про то, что айсолэйты убивает, все сказать хотел, да забывал... Саня сделал за меня... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 28] Author : НакоПал Date : 04-03-2009 15:46 Моды без моделива - Модны - мне кажиться - 1шаг выяснить чем кубики составлять а потом их бампануть в зебре (3.1) - геометрию конв. и собирать в чёмто где реально быстрый движог Модо 3.02 катит ну ваше профи тип меня уже догадываються либо как сцену в слоях - выстроить или ссылками - или движог выбрать под уровень моделива 2-3 или 16 милионов поликов в ЛайтВаве.или.SI ур.графики выберите -но в экшан игре мошен блур - фильтры и поликов минимум - с хай эндами шедеврами неработал - там 1 шейдер мой комп затормазит... эффекты собирать в бонжу веть партиклы эфекты это типа растры - и что тут - оптимизировать - без скриптера - я сам самоученый а нужн реальный прогер - 3человека в команде мало - если есть 1 моделер 100т поликов в 1-ой сцене за глаза - с матрицами - гемары со скатером раставлять 3 спосабами в максе - профи должн заняться а ани делают - и нормальки прямыми -направленость и соразмерность - кучность - группы чинят -это куруть... Хто тут из питера - да и есть ли тут люди за 30.. Мог бы прикинуться - добрым - и поделиться.. [size=1][i]НакоПал добавил [date]1236184096[/date]:[/i][/size] кстати в текстовый тхт - файл - ктонить полики укладывал - весело - но неудобно - хотя таким макаром и бамп оптимизировать можно. и анимация в 30т ключей - хе хе. для 30 костей........ Асикью - недаю - причина - вынос -путностей - в обшаг. Служба службой - табак в общяг.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 29] Author : Mitai Date : 04-03-2009 16:36 Разрыв мозга. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 30] Author : НакоПал Date : 04-03-2009 16:45 Деморил - сайт для фрилансеров - в группе людишек.. - собирёмся - мож - а так я скромно ленюсь.. Так что - Хто тут из Питера... Геймеры - помоему счас тоже 3дехники - токо ленивые... мож - кому леция - нужна. О том как карабли - бораздяд - просторы бездны.. ну а что, серьезно Последнию Фантазию снимали 100 разномастных профов, Шрека окола 80 мастерков, Мадагаскар уже 50 лбов, а Рататуя 30 сыроваров, ну логика простая - где тут народ - Кгэшников лепить бум - из грузщиков -со свободным трафиком. подмени adlmdll.dll и уничтож 1 дат файл в папке :\Doc & Set\All Users\Application Data\Autodesk\Software Licenses - Это вариант лучший вариант слома 7-макса, без кейгену, хорош как и сама прога. Вопросиг - вы в 3дмуксе разобрались - ато в автобеки - зароитесь. невылезите а отмычки (парадокс) - невыход... [size=1][i]НакоПал добавил [date]1236190943[/date]:[/i][/size] Что шевелиться фиксируеться векторами, 2точки 2д вектор тут тупо всё тангециально - 3 в глубь зрят, прямо - и нелепо, операции с анимацией - курв в сочетании с подвижностью - есть - разбиение на отрезки - чем меньше тем гладьше - чем, меньше - тем больше - насытив критичные облости - углов, понимаем, важность расчёта. Вяжите все к минимуму - оно есть одно 1. - Я - ушол из 3д - увлёкся прозой - Веть плохие Сценарии - лучше воплощать на бумаге... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 31] Author : FishMan Date : 05-03-2009 04:06 Кто-нить понял о чём он вообще говорит? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 32] Author : Flagg Date : 05-03-2009 07:24 Он? О траве конечно, трава у него - что надо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 33] Author : FishMan Date : 05-03-2009 09:10 Забористая :D -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 34] Author : ROCK Date : 05-03-2009 09:30 Сильно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 35] Author : Stone Date : 08-08-2009 09:40 Всем привет! Хочу представить вашему вниманию тулзу под Макс собственной разработки, позволяющую подготовить модели деревьев для использования идеи, озвученной в теме. Называется эта штука SmartTree Foliage Creation Utility, последний билд прикладываю к сообщению. Основная идея - создаем полигоны-спрайты фиксированного размера, затем вершинный шейдер (логично что его нужно написать) ищет на заданном расстоянии соседние вершинки и ресайзит+поворачивает лицом к игроку все спрайты. Идея схлопнуть полигон в точку не прошла, поскольку компилятор studiomdl это дело благополучно режет. Что мы имеем - вполне рабочую и на мой взгляд удобную тулзу с презентом в виде зашитых в нее багов. Писалась под 2009 Макс, под 2010 тоже должна работать. В принципе и под 2008 должна завестись, но полностью не могу быть уверен. Под более старые - не пойдет, поскольку используется ряд новых возможностей. Чтобы понять, как с этой штуковиной работать, записал пачку видяшек (сначала даже сделал все красиво, с музыкой и титрами, однако пол-ночи работы пропали даром, не выдержав удара граблей кривого софта): [URL=https://www.youtube.com/watch?v=ZzvLfTvAhxk]SmartTree: User interface [/URL] [URL=https://www.youtube.com/watch?v=txw_3DhZm_8]SmartTree: Basic settings [/URL] [URL=https://www.youtube.com/watch?v=jfDIQ3VgSbM]SmartTree: Surface Distribution [/URL] [URL=https://www.youtube.com/watch?v=mskAw1VyRv4]SmartTree: Volume Distribution [/URL] [URL=https://www.youtube.com/watch?v=fCkE6qdFFqo]SmartTree: Manual sprites creation [/URL] Что еще навскидку хотелось бы сделать: - На данный момент возникает дилема - с одной стороны хочется подобрать оптимальный размер для спрайтов, чтобы оценить внешний вид получаемого дерева, с другой - спрайты по задумке должны быть фиксированного размера. Думаю, стоит сделать инструмент, позволяющий сделать ресайз всех спрайтов перед экспортом. А уже в vmt будет задаваться итоговый размер, в который они будут ресайзиться. - Для создания ЛОДов можно реализовать "прореживатель", удаляющий рандомно часть спрайтов (можно и вручную, но муторно..) - Возможно в будущем сделаю даже превью с поворачиванием поликов, только пока что слабо себе представляю как это должно выглядеть с точки зрения взаимодействия с пользователем. Ведь в итоговой модели все спрайты должны быть ориентированы сторо с "севера на юг", образно выражаясь. А в таком режиме они будут вертеться туда-сюда. Плюс еще поди различи объекты, подлежащие такой обработке. В голове только мысль о кнопке-переключателе, по которой все объекты, в которых имя начинается с определенного штампа, будут обрабатываться так, что при повороте вьюпорта их полики будут поворачиваться тоже. В таком режиме можно будет даже поудалять и подвигать их, а при отключении все полики снова ориентируются, как магнитная стрелка.. Чего хочу от вас: - Поюзать, потестить, поискать баги (очень желательно локализовать, т.е. определить при каких конкретно условиях происходит, иначе найти причину сложно..), обдумать что и в каком виде можно было бы добавить, чтобы получилась качественная тулза. ПРЕДУПРЕЖДЕНИЕ: Очень неприятный баг бывает при отмене операций, благо проявляющийся все реже и реже. Но если появится - то Макс "падает" замертво. Поэтому советую сохранить во-первых саму модель дерева перед началом "развешивания" листвы, а во-вторых какой-либо приятный для себя результат, чтобы не было разочарований. Часть таких багов я уже отловил, но изредка бывает, что вылезает, а разобраться почему времени не хватило. К сожалению выдав на гора все это мне придется вас покинуть на некоторое время, но по возвращении надеюсь увидеть здесь много "пищи для ума" :D P.S. При генерации идей исходим из соображений юзабельности, полезности и относябельности к теме создания конкретного дерева для использования данной конкретной технологии. Делать кухонный комбайн, генерирующий все подряд, не стоит - да и некогда по большому счету :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 36] Author : FishMan Date : 08-08-2009 12:37 Мдя [url=https://www.youtube.com/watch?v=qdafS3CUO_8&NR=1]видео пососедству[/url] просто блещет гениальностью авторов Оо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 37] Author : KLIMaka Date : 09-08-2009 10:35 Не пилите сук... на котоорых сидите. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 38] Author : Lex4art Date : 11-08-2009 02:45 Stone - выпилил таки идею :D. А можешь показать что получается (игровой скрин понажористей)? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 39] Author : Тим Date : 11-08-2009 10:26 качаю, пока платно не стало :D [size=1][i]Тим добавил [date]1249983636[/date]:[/i][/size] А как я понял, в игре спрайты всегда будут лицом к игроку? П.с в 2008 максе работает на ура) П.сс оч полезный тул! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 40] Author : Freeeeeeeman Date : 11-08-2009 18:08 покажите плиз скриншотик))) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 41] Author : KLIMaka Date : 11-08-2009 18:13 >Основная идея - создаем полигоны-спрайты фиксированного размера, затем вершинный шейдер (логично что его нужно написать) Обращаем внимание на то, что написано в скобках. Еще нет шейдера, так что ждем )) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 42] Author : Freeeeeeeman Date : 11-08-2009 21:25 упустил) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 43] Author : manJak Date : 14-09-2009 17:55 Ждите-ждите)) Возможно скоро займусь, хотя прочей модо-работы у меня - конь непаханый. :( Stone, вижу за дело ты взялся основательно, молодца. =) Потестить, правда возможности нету-сь, макс у меня далеко не 2009) Но зато имеется мысоль (поздновато, знаю =\). Вешать на одно дерево листья с одинаковыми текстурами - не кошерно, сам понимаешь) Вешать листья с разными материалами - тоже не очень хорошо; хорошо когда листва одной модели рендерится одним батчем. Тем более, что сами деревья придётся пачковать (втыкать их по одному - дорогое удовольствие, как тебе известно), а значит на одной модели может оказаться много видов листвы. Так вот, текстуры листвы придётся объединять в [s]гербар[/s] атласы, и назначать вершинам соответствующие текстурные координаты. Это, в свою очередь, означает, что для хранения смещения вершины от центра спрайта придётся использовать нормаль (я понятно излагаю? :D). Кстати, если записывать саму позицию центра спрайта в нормали его вершин, можно располагать вершины где угодно - это уже не будет играть никакой роли. Вот только я не уверен, что компоненты нормали не урежутся до [-1, 1] на каком-то из этапов.. Надо проверять. Итого: Материал скорее всего потребуется один - атлас. А выбор нескольких материалов заменить заданием координат (не меньше 4-х пресетов, а в идеале - список с возможностью добавления/удаления): левый верхний угол и габариты. Кстати, при ручном размещении наверное пригодилось бы иметь возможность выбирать, каким пресетом "рисовать", а для автоматического - задание весов. :D -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 44] Author : Stone Date : 14-09-2009 21:14 Епту мать, кто приехал наконец!!!! Рад видеть тебя! Где ж ты раньше был, умник:D :D :D Более подробно можно обсудить в аське, но есть уже кой-какие соображения :) а) Сейчас тулза в процессе модернизации, на данный момент есть рескейл в исходный размер спрайтов ( со смещением +/-1 для всех вершин ) и обратно в заданный, для превью в истином размере. Следующий шаг - режим просмотра, в котором полики имеют истиный размер и вращаются вслед за камерой, т.е. мы видим листву такой, какой она будет в игре. б) Насчет сдвига в атласе и его задания в интерфейсе - нужно обдумать будет каким именно образом это удобнее всего будет представить. Довольно важная задача, как показывает практика, гора кнопочек - явно не лучшее решение :) Но прежде чем к этому приступать предлагаю отладить технологию "на кошках" с текущим вариантом. в) С нормалями в принципе особых претензий нет, в "нормализованном" режиме, для экспорта - в них будет сбрасываться координата центра спрайта. Для превью нормали станут снова человеческими... Вот такие соображения на данный момент, рад что скоро смогу увидеть ожившие деревья :)) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 45] Author : Stone Date : 15-09-2009 09:57 Кстати сейчас потестил нормали и пришел к выводу, что идея хорошая, но реализовать можно только с извратом. Дело в том, что вектор нормали всегда по длине равен 1. Т.е. какие координаты ему не задай - он автоматически нормализуется. Например: setNormal $.mesh 1 [1,1,1] getNormal $.mesh 1 [0.57735,0.57735,0.57735] Посчитав длину вектора, который реально в нормаль записался - получаем ровно единицу. До этого была мысль юзать не прямые координаты, а обратные величины, но при этом "поломаются" маленькие числа, да и вот эту проблему с нормализацией это тоже нисколько не решит. Можно иметь нормализованный вектор и где-то еще хранить масштабный коэффициент.. Вопрос где :_) Ну и точность может пострадать, хотя не столь критично - в smd хранится инфа с точностью до 10^-6 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 46] Author : manJak Date : 15-09-2009 12:46 > Где ж ты раньше был, умник Да всё там же) А потом тут, ныкался от вас, ибо показывать нечего( Я Фишу извинятельное письмо послал, но либо он на пошту не заходит.. либо одно из двух. В общем отчитать вы меня ещё успеете, а я лучше к делу перейду)) > Насчет сдвига в атласе и его задания в интерфейсе В идеале - кроме 4-х числовых полей ввода ещё и изображение текстуры с красной рамочкой, показывающей сопсна вырезаемый фрагмент тексы.. Но если сложно, то не обязательно. В detail.vbsp вон никаких вревью нет, одни циферки) И имя для пресета наверно тоже не помешает. Что касается самого списка, то это обычный такой список.. с парой кнопок справа - Add и Rem. Редактирование уже созданного пресета можно на даблклик повесить я думаю, ы? А насчёт кошек - согласен) Стоит сперва увидеть результат твоих трудов в игре, для чего чиркнуть шейдер. А потом можно и за наведение блеска взяться. :) А теперь - к нормалям. Всё оказалось хуже, чем просто кламп. :D Но это не беда, записывай в XY следующее: Верхняя правая: -1, -1 Верхняя левая: 1, -1 Нижняя левая: 1, 1 Нижняя правая: -1, 1 вроде так.. Глобальный масштабный коэфф. будем хранить в материале, а масштабировать отдельные листики можно меняя Z-компоненту в пределах [0,1]. При Z=0 длина двухмерного (XY) вектора будет единицей, а при Z=1 - примерно 0.817. Так что спрайты будут с диагональю от 1.633 до 2.0. В шейдере этот диапазон можно будет ремапнуть до произвольного. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 47] Author : Stone Date : 15-09-2009 23:07 Про атлас.. Думаю, что вполне можно реализовать человеческий способ ввода, например: Тыкаем Add (или плюсик там..) - выбираем материал, если элемент первый.. И жмякая на Edit (либо при добавлении сразу же) - появляется перед нами стандартное окошко модификатора Unwrap UVW с разверткой временного полика, а при закрытии этого окошка данные сохраняются, полик удаляется. Как перехватить событие - вот единственная бодяга на данный момент, но что-нить аналогичное точно можно реализовать. Плюс все эти манипуляции вовсе необязательно каждый раз заново делать - можно пресеты будет сохранять в файл и загружать оттуда же. А теперь про твой последний абзац. Я в ахуе, честно говоря))) Ниче не понял.. зачем такие навороты. Как сейчас - спрайт летает в воздухе на своем месте, и имеет вершины с нормальными человеческими координатами, не перевернутыми. Если я тебя правильно понял, то твой вариант - это долбануть одинаковые полики, но расположенные на разной высоте, в завис. от этого будет меняться масштаб листка. Только по-моему мы снова столкнемся с проблемкой коллапса компилятором, если полики слишком близко друг к другу окажутся. То, что общий для данного типа листвы масштабный коэф. будет в настройках шейдера - это как бы и не обсуждается :))) А вот нельзя ли вариацию размера засунуть туда же? Или это слишком много лишних действий добавит? Ну в общем мне по большому счету не так сложно все переделать к такому виду, как ты предложил, просто не знаю, будет ли это лучше, и не порежутся ли наши полики. Жду твоих соображений) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 48] Author : manJak Date : 16-09-2009 00:14 > человеческий способ ввода Нууээ, способ скорее нечеловеческий. xD Такой огород городить.. А если юзер из прямоугольника в анврапе сделает бантик? :D Что может быть проще четырёх числовых полей с рамочкой на текстуре?) Ну ладно.. можно сделать возможность руками таскать углы рамки, но смысла не много: требуются точные значения как правило (0.25, 0.75..). > можно пресеты будет сохранять Ну эт само собой. :) > ...расположенные на разной высоте, в завис. от этого будет меняться масштаб листка Ненене)) Последний абзац целиком и полностью посвящён нормалям. И ХУЗ, соответственно, тоже нормальные, а не позиционные. И рандомно (или по какому-то закону.. Это не суть) выставляя Z-компоненту нормали в пределах [0,1], можно в итоге варьировать размер листьев. Позиции же вершин остаются как были, так что ничего никуда не сольётся и не порежется) > нельзя ли вариацию размера засунуть туда же? Вот я об этом и говорил: "этот диапазон можно будет ремапнуть до произвольного", то есть в материале можно будет без проблем задавать диапазон размеров. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 49] Author : FishMan Date : 16-09-2009 14:16 Читай старые-добрые детэйлы налепленые на модель?.. Оо По поводу тестирования скрипта, я Сане уже говорил мысль, что лучше всего это тестировать, когда на руках есть что-то рабочее, т.е. можно увидеть результат в игре и уже тогда можно судить об эффектиности скрипта и о том, что в него нужно добавить или переделать... Помимо этого вопрос о публичном распространении пока открыт. Всё-таки, как ни крути, от остальных почему-то помощи не видно, если всё будет сделано своими силами, не вижу смысла, а точнее причины, раздавать это публике... камень в огород публике... считаю, справедливым своё замечание. Маньяк, я думаю, как всегда от помощи откажется, на то он и Маньяк. Но остальным она может очень понадобиться, я думаю, читая посты, можно самому будет сообразить, какая именно помощь требуется. Лично мне приходит как минимум одна мысль в голову - потребуются очень качественные текстуры листвы и некоторое количество рефов, так что пока снег не выпал, или даже более того - листья не пожелтели и не опали - камеру в руки и бегом снимать местную фауну... Я думаю о том, как снимать правильно лучше всего напишет Саня, он как то раз этим занимался, вышло очень мило... Саня расскрой секрет... [size=1][i]FishMan добавил [date]1253108845[/date]:[/i][/size] ЗЫ маньяк, Ацьку в автозагрузку поставь ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 50] Author : manJak Date : 16-09-2009 16:57 > старые-добрые детэйлы налепленые на модель? Ну, зависит от того, с какой стороны поглядеть.. > лучше всего это тестировать, когда на руках есть что-то рабочее То есть, дело за мной? Ок) > вопрос о публичном распространении пока открыт Меня эта мысль тоже посетила) А не перебраться ли в нашу ветку? Ну по крайней мере шейдер я здесь повременю выкладывать; сначала - внутренний релиз) > Ацьку в автозагрузку поставь %)) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 51] Author : Stone Date : 16-09-2009 19:33 [QUOTE]Нууээ, способ скорее нечеловеческий. xD Такой огород городить.. А если юзер из прямоугольника в анврапе сделает бантик? Что может быть проще четырёх числовых полей с рамочкой на текстуре?) Ну ладно.. можно сделать возможность руками таскать углы рамки, но смысла не много: требуются точные значения как правило (0.25, 0.75..). > можно пресеты будет сохранять Ну эт само собой.[/QUOTE] Лан, думаю на первое время можно обойтись "окошечками", а потом посмотреть, удобны ли "рюшечки" - думаю, что с ними могло бы быть приятно, особенно если листиков на атласе штук 32 :) Кстати про рисовалку рамочки пока не знаю, но думаю что можно - картинки вфигачивать вроде можно, как минимум поверх кнопки, материалы генерить тоже.. Придумаем что-нибудь :) Но тоже не сразу. [QUOTE]Ненене)) Последний абзац целиком и полностью посвящён нормалям. И ХУЗ, соответственно, тоже нормальные, а не позиционные. И рандомно (или по какому-то закону.. Это не суть) выставляя Z-компоненту нормали в пределах [0,1], можно в итоге варьировать размер листьев. Позиции же вершин остаются как были, так что ничего никуда не сольётся и не порежется)[/QUOTE] Пффф... Ну нормаль сама по себе все равно отмасштабируется до единичной длины, так что компоненты X и Y изменятся. НО! Все равно для Z будут разные значения, и эту вариацию можно будет использовать для изменения размера листков. Кстати а эти нормалки каждый раз берутся из исходного меша? Их переназначать придется каждый раз просто, задавая человеческие значения.. Например [0,1,0] [QUOTE]Вот я об этом и говорил: "этот диапазон можно будет ремапнуть до произвольного", то есть в материале можно будет без проблем задавать диапазон размеров.[/QUOTE] Это очень гуд! [QUOTE]Я думаю о том, как снимать правильно лучше всего напишет Саня, он как то раз этим занимался, вышло очень мило... Саня расскрой секрет...[/QUOTE] Кстати если будут хорошие рефы, то действительно будет весьма знатным подспорьем. Как листьев, так и коры деревьев. В плане листвы.. Лучше всего, если имеется возможность отодрать ветку и сфоткать ее на более-менее однородном темном фоне при спокойном освещении (яркое солнце со множеством бликов и теней не катит, ночная съемка тоже ;)). Если нет - следует стараться, чтобы не получилось зеленое месиво, ведь вырезать все придется вручную. Один огромный плюс современных фотиков - хорошее разрешение, что в совокупности с прямотой рук дает просто удивительные результаты)) В свое время делал текстурки из фоток отодранной ветки, снятых на 3МП фотик, вроде весьма успешно. Сейчас это кажется уже почти нереальным, но это так)) [QUOTE]> вопрос о публичном распространении пока открыт Меня эта мысль тоже посетила) А не перебраться ли в нашу ветку? Ну по крайней мере шейдер я здесь повременю выкладывать; сначала - внутренний релиз)[/QUOTE] Если эта тема так и будет милой беседой трех представителей одной команды - то вопрос с тем же успехом будет и закрыт)) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 52] Author : Lex4art Date : 16-09-2009 19:39 Листья дергал (по десятку с дерева) - видов пять-шесть могу выложить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 53] Author : manJak Date : 16-09-2009 19:57 > компоненты X и Y изменятся В этом-то вся соль) Они и отвечают за масштаб. Правда кое-что я всё же не учёл. А с учётом этого кое-чего алгоритм задания нормали должен быть такой: 1. Сгенерить для листа масштабный коэффициент с, принадлежащий [0, 0.57735]. 2. Решить 2x^2 + с^2 = 1. Вроде бы x = sqrt((1 - с^2) / 2) 3. Назначить вершинам следующие нормали: верхняя правая: (x, x, с) верхняя левая: (-x, x, с) нижняя левая: (-x, -x, с) нижняя правая: (x, -x, с) Вроде так. :D > Кстати а эти нормалки каждый раз берутся из исходного меша? Их переназначать придется каждый раз просто, задавая человеческие значения.. Например [0,1,0] Вот тут сооовсем не понял, что ты имел ввиду( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 54] Author : FishMan Date : 17-09-2009 02:34 [quote]Листья дергал (по десятку с дерева) - видов пять-шесть могу выложить.[/quote] Лекс не спрашивай ) Выкладывай ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 55] Author : Lex4art Date : 17-09-2009 06:10 Ага, ок: [url]http://www.sendspace.com/file/nr6vgd[/url] - 41 мб. Снимал в пасмурную погоду, выглядят достаточно блекло, но хоть диффуз видно а не одни блики. Заснято: рябина, осина, дуб, береза (правда там у меня листья сдуло :D), ива, орешник, дерево лопух, дерево крапива, дерево трава (последние три - могут пригодится при создании своего листа "из головы" - как хорошо детализированная основа). Все листья кроме дуба сфотаны с двух сторон хотя толку от этого не будет - на просвет надо было снимать с обратной стороны... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 56] Author : manJak Date : 17-09-2009 07:47 Кстати да, Лекс, поздно и я и ты сообразили: нужны фотки и на просвет тоже, иначе реалистичного освещения всего этого нам не видать. :) Если будет у тебя ещё "фотосессия", попробуй сделать) Хотя в идеале их наверно надо на матовое стекло с подсветкой снизу класть и запершись в ванной снимать, что слегка геморно)) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 57] Author : Lex4art Date : 17-09-2009 08:30 [b]>>что слегка геморно))[/b] Могу в кризисе сделать плоскую текстуру с этими фотками и с ихним шейдером сделать на просвет :D (он вроде диффуз учитывает при этом). Это к стати любой может в максе сделать... К стати, а слабо написать такой шредер под сорс? Я в свое время пытался эмулировать этот эффект путем присобачивания самодельной кубымапы (т.е. на листьях с обратной стороны отражается ярко-зеленое пятно, что немного похоже на настоящее). Но кубымапы неадекватны что в сорсе что в кризисе - при удалении игрока от отражающего обьекта отражения кубымапные не уменьшаются, т.е. получается эффект увеличения отражаемого - и издалека это приводит к кошмарным результатам (зеленый накладывается куда нипопадя, да еще и движется при движении игрока). Вот как это было в лучшем случае: [url]http://img196.imageshack.us/img196/9917/denature1780011.jpg[/url] А вот так в худшем: [url]http://img196.imageshack.us/img196/2073/denature1780014.jpg[/url] [size=1][i]Lex4art добавил [date]1253172997[/date]:[/i][/size] [b]>>Кстати если будут хорошие рефы, то действительно будет весьма знатным подспорьем. Как листьев, так и коры деревьев.[/b] К стати кора тоже есть... вообще все это на дисках у Фиша было, но пароль пропал в пучине времени (запаролены архивы). Могу выложить и кору, но там сложнее (деревья заразы цилиндрические а не плоские... :/ ), т.е. вроде и реф есть хорошо отснятый а все равно возни до готовой текстуры много... щас сделаю архив, будет большой (метров 250-300). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 58] Author : manJak Date : 17-09-2009 09:53 > К стати, а слабо написать такой шредер [size=1][url=http://www.mobile-review.com/sadm_files/shreder(1).jpg]Такой[/url] чтоле? :D[/size] Я собственно это и намеревался сделать, но нужна карта просвечиваемости, которую из поверхностного изображения если и можно получить, то какими-то изврашениями, да и вряд ли адекват получится) Картинки жгут. Немало ты наманьячил в своё время с растительностью всевозможных видов) зы: Думаешь, конопля - это трава? Нифига, это дерево! Просто ему вырасти не дают( ззы: Мб баян как мир. оО -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 59] Author : Lex4art Date : 17-09-2009 11:19 *Подумавши* стоит ли... тени на себя модели не отрбасывают, по этому кроны деревьев будут светиться по всей площади как на втором скрине... наверно лучше хороший диффуз only :). Фотографии коры: [url]http://www.sendspace.com/file/rvv4s5[/url] 288мб -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 60] Author : Stone Date : 17-09-2009 12:26 Я тут подумал.. Давай обсуждение технических вопросов в аську перенесем, а то тут долго друг другу будем объяснять что мы имеем в виду :))) А вот концептуальные вещи здесь тоже имеет смысл озвучивать, может у кого идейки появятся полезные. Лекс, за фотки спасибо! Листья - то что надо и как надо с точки зрения съемки.. Но огромный минус - то что это ЛИСТЬЯ. :( Если лопухи сами по себе юзабельны, то листья деревьев развешивать по веткам - адский труд, проходили уже.. Тут нужны куски веток. Приведу примеры из моих фоток: * Рабочий вариант, отфоткав такую ветку с разных ракурсов получили неплохую тектурку для сосны: [url]http://img141.imageshack.us/i/leavesgood.jpg/[/url] * Вариант средней паршивости - есть блики и тени, но их немного.. Ну и в принципе листья номально отделяемы от фона: [url]http://img232.imageshack.us/i/leavesmedium.jpg/[/url] * Отличная фотка, но замучаешься отделять иголки от фона: [url]http://img9.imageshack.us/i/leavesbad.jpg/[/url] * Фотка, которая может сгодиться только как референс по развешиванию листочков на самом дереве/кусте, т.к. имеем просто месиво из листьев: [url]http://img11.imageshack.us/i/leavesverybad.jpg/[/url] А насчет коры - очень приятные фотки, то что их обрабатывать нужно - к этому все давно привыкли, сложно с дерева кору снять и развернуть))) Можно конечно пробовать панорамной съемкой делать, но тут тоже будут искажения, да и извратом пахнет:) У меня у самого целая библиотека таких нащелканных стволов, но лишних никогда не бывает, потому что чаще всего с погодными условиями не угадаешь.. Как например у тебя с верхними частями ствола сосны. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 61] Author : manJak Date : 17-09-2009 17:00 Lex4art, тени - дело наживное, сделаем фейк) Stone, ок, переезжаем в асю. Кстати, "картинке не грузяцо") -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 62] Author : FishMan Date : 18-09-2009 10:55 Хз у мя загрузились, Лексу спасибо... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 63] Author : Stone Date : 26-09-2009 14:39 ...Между тем работа кипит, появляются обнадеживающие ингейм-результаты, тулкит обрастает фичами... А в это время из откликнувшихся можно выделить только Лекса:) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 64] Author : FishMan Date : 27-09-2009 12:43 Знаешь [url=http://lurkmore.ru/Всем_по***]как говорят[/url]? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 65] Author : manJak Date : 27-09-2009 19:48 FishMan, цензура. xD -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 66] Author : FishMan Date : 28-09-2009 07:10 Да все цензурно, я же ссылку, это на лурке что-то не так написано, а это уже их проблемы )) Главное, что правду написал... Слушай, Денис, тут мне Санёк скинул The Valley, ну демка спидтри, помнишь, надеюсь, так вот там есть файлы *.spr в них листики лежат, вот бы их открыть ) А вообще я крутил, вертел, так и не понял, как это дерьмо освещается, но факты: 1) Весь фокус в правильном освещении, без него - это просто мессиво спрайтов. Ну это уже из репертуара капитана очевидности... 2) Каждый спрайт освещается не равномерно, а градиентом от светлого к тёмному, причём всё это глобально, т.е. нету одного определённого тёмного и светлого для каждого спрайта, оно (это тёмное и светлое) справедливо для всех, т.е. каждый спрайт освещён по своему в зависимости от... чего-то, я так и не понял, но есть предположение... Правда я только нубское предположение могу генерить, я не кодер: но там что-то типа градиента по всему дереву, т.е. учитывается угол под которым освещается всё дерево, целиком, и от крайней верхней точки по этому вектору, до крайней нижней точки, как бы генерируется градиент, т.е. получается, что спрайты затемняются в зависимости от удаления от крайней точки, где первые лучи коснулись листвы... Щас попробую картинку зафигачить... З.Ы. Там у них еще файлик Shadow.dds есть, и файлик SelfShadow.dds первый - это пререндеренная тень от дерева, а точнее, просто его (дерева) черный силуэт. Открытие второго файлика вызывает креш фотошопа, правда пару раз мне удавалось открыть его, но там что-то непонятное, какие-то черные и белые квадраты, не уверен, что плагин правильно этот файл открывает, возможно это какие-то математические данные в текстурном формате, сомневаюсь, что это пикча )) Или может пикча, но в другом формате, чтото типа 16-битных файликов для хдр-скаев в сурсе... З.Ы.Ы. Помимо этого есть спекулар на листьях, там просто светлые листья в кучке листиков подсвечиваются, создаётся такое впечатление, что это цветки )) Ммм... Цветущее дерево, очень мило ))) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 67] Author : FishMan Date : 28-09-2009 07:52 Картинка... Думаю понятно, что я имею ввиду... Ну на всякий случай, длинный разноцветный вектор - это "считывание" направления света. Короткий вектор - "считывание" "длины градиента" для освещения... Направление, для направления света, т.е. для каждого полигона с листвой он одинаковый, иными словами откуда светит свет. Это то же самое направление света, что используется для освещения VertexLit частей дерева (для непрозрачных полигонов, читай для ствола). А вот длина градиента - это то самое глобальное значение, которое для каждого полигона своё. Т.е. освещается в зависимости от того, как близко находится полигон к источнику света относительно всех остальных полиногов с листвой в модели. Подумал и решил, что, помимо этого, еще нужно отдельно освещать листву которая находится ближе к стволу: чем ближе к стволу, тем темнее освещается (ну типа внутри листвы дерева, типа тень от окружающей листвы)... На картинке получился плавный градиент, ибо в фотошопе сделан, на деле, я думаю будет более "шумный" вариант, т.к. 1) всё будет в 3Д, 2) Всё будет меняться из-за вращения полигонов (ну в смысле только визуально, математически то пусть всё остаётся как есть), 3) + математические особенности создадут доп. погрешности и шумы для значений, чтобы всё уж так тупо и плавно не выглядело )) Денис... твоё мнение? )) Опять поди скажешь, что полный бред )) Помимо этого, после просмотра демки The Valley появились некоторые [b]замечания для дизайнеров:[/b] 1) Все остатки ветвей с текстуры листвы нужно удалять. 2) Помимо 3-хмерных полигональных веток, делаются еще и 2Д рисованые ветки, которые пучками подводятся к местам, где будет находиться листва. 3) Разрешение листвы, судя по всему должно быть малым, чтобы на расстоянии это всё становилось мягким (ибо сами знаете, что такое alphatest) или же стоит отключать фильтрацию при сохранении в vtf, или же включать фильтрацию Blur'а ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 68] Author : FishMan Date : 28-09-2009 08:31 Скрины с The Valley, мб помогут... Доказывают, кстати, что я малёху неправ в своих предположениях ))) Лучше конечно саму демку посмотреть )) Тока в инете её найти по ходу уже не реально, с оффсайта посносили вообще все демки, как я понял, по крайней мере я нифига не нашёл, одни скриншоты и видео ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 69] Author : manJak Date : 28-09-2009 10:57 Ы, над освещением я как раз вчера размышлял. Пока в электричке ехал, только и делал что листву анализировал. :) Пришёл к выводу, что кроны можно попробовать освещать как эллипсоид.. По сути градиент, о котором ты толкуешь, только другой немного) Надо будет опробовать. Спекуляр, возможно, тоже получится этим же методом. > Опять поди скажешь, что полный бред )) Опять? оО Не, совсем не бред. Изначально мысль верна, хоть подробности и пошли не в ту степь. :D Что касается тени, то пререндеренная вполне сойдёт. В *_SelfShadow.dds как раз она (открылось, ыгы). Она от направления света зависит, естественно, нудапох) А демка у меня есть, побегал щас по ней, многое уяснил) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 70] Author : KLIMaka Date : 28-09-2009 17:10 Ну во-первых по поводу упрощенного освещения. Здесь ([url]http://www.ofb.net/~niniane/clouds/[/url]) есть видео, на котором высказана простая идея освещения - считать dot-продукт между центром объекта и вектором на источник света. На облаках выглядит довольно пристойно. Во-вторых накопал доку интересную ([url]http://www.kevinboulanger.net/research.html[/url]) Очень понравилась идея об кубмапе кроны. А ингейм ужо есть? Исходники будут? Ибо пока времени сильно нет, и быстрый старт не помешал бы... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 71] Author : FishMan Date : 28-09-2009 20:26 Ингейм есть, правда пока ничего особенного ) По поводу остального договаривайся лично с Денисом... Я решил замутить сценку демонстрирующую данную технологию, кстати )) Уже начал работать над мелкими объектами. Суть идеи хорошо показывается на следующем рисунке: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 72] Author : redbox Date : 01-02-2010 09:46 ну так что? чем кончилось то? если таких деревьев пару десятков на карте поставить как производительность? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 73] Author : manJak Date : 01-02-2010 10:43 redbox Work suspended) С деревцами ещё успеем разобраться, а сейчас занимаемся делами понасущнее. :) KLIMaka Исходники когда-нибудь будут, но быстрого старта уже, как видишь, не получится ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 74] Author : Stone Date : 01-02-2010 13:55 Вообще говоря исходники будут только для тех, кто принимал активное участие в разработке и генерировании идей.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 75] Author : redbox Date : 01-02-2010 15:20 дело не в исходниках, дело в понимании нужно ли это и рационально ли. я приблизительно представляю как сделан спидтри, и понимаю что сделать такое самому реально только за немалый срок. т.е. в данной ситуации можно только попробовать сделать некое подобие, при этом не задумываясь о всех оптимизациях и уловках которые есть в настоящем спидтри. поэтому и возникает вопрос - потянет ли сорц? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 76] Author : Stone Date : 01-02-2010 16:24 Ну сам смотри.. Тут выигрыш основной идет не в скорости рендеринга, а скорости создания деревьев. Если обычно нужно попариться с листвой, то тут хватит и 15 минут для финалки. Можно было бы стволы так "выращивать" как в SpeedTree - вообще бы цены не было. Но мы подобной функциональности не планируем. Что касаемо рендеринга.. Полигонов в обычной сосне - 742, в "спрайтовой" аналогичной - 650, так что мало что изменилось с этой точки зрения :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 77] Author : manJak Date : 01-02-2010 16:24 > потянет ли сорц? А кто его спрашивать будет? :D Делать это планируется на том уровне, где особенности движка играют очень мало) На том же уровне, что и трафка моя. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 78] Author : redbox Date : 01-02-2010 16:29 понятно. просто я знаю что есть еще такая штука - [url]http://www.onyxtree.com/suite.html[/url] по идее ею тоже можно поиграться. manJak, что за травка? [size=1][i]redbox добавил [date]1265041849[/date]:[/i][/size] правда оникс для рендера и там не очень все лоупольно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 79] Author : manJak Date : 01-02-2010 16:50 Нну.. травка же) Не видел разве? [url=https://www.youtube.com/watch?v=CMCMG5sMr8I]Ъl[/url] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Post 80] Author : redbox Date : 01-02-2010 20:01 прикольно. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The messages has been download from Форумы на Наша-Life at https://bbs.hl-inside.ru at 06.06.2024 12:44:59