Подскажите плиз, как сделать 3д модель с частично прозрачной текстурой в Urho3D? Например, деревья, траву и типа того.
так же как и везде. Модель или текстуру?
Модель в 3д редакторе
Текстуру в графическом редакторе.
Может Material? дык там в Data и в CoreData и вообще в samples есть все примеры
Salamandr
Модель или текстуру?
Модель, с частично прозрачной текстурой. В блендере у модели есть прозрачность, а в Urho3D нет. Экспортировал аддоном: https://github.com/reattiva/Urho3D-Blender
найдите материал модели и напишите его код сюда.
Или сравните с другими материалами, например Particle. Или в соседней теме есть топик, где я написал прозрачный и полупрозрачный куб. https://gamedev.ru/community/urho3d/forum/?id=265545&page=2&m=5486021#m17
<?xml version="1.0" ?> <material> <technique name="Techniques/Diff.xml" /> <texture name="Textures/tree.png" unit="diffuse" /> <parameter name="MatDiffColor" value="0.64 0.64 0.64 1" /> <parameter name="MatSpecColor" value="0.5 0.5 0.5 50" /> </material>
Я попробовал "Techniques/Diff.xml" поменять на "Techniques/DiffAlpha.xml", получилось вот так:
логично, тень ведь от модели, а модель Plane.
Это не Plane. Вот, немного переделал модель:
В общем, как сделать, чтобы полигоны не накладывались и тень была нормальной?
Сорри, я нуб, только начал изучать двиг.
Классическая модель травки из Minecraft = 2 Plane или там 4, не суть важно сколько их. Важно лишь что что они прямоугольные, поэтому и тень от них прямоугольная.
Сделай-те полигон по контуру текстуры и всё получится. Плоское дерево сделай-те в виде полигона и уже на неё повесь-те текстуру
То есть для дерева каждый лист полигоном делать? Моя модель просто для примера была, там должны быть листья :)
Вот кстати, как в блендере модель выглядит:
Нет, вся фишка в шейдере, для травы надо маску и чтобы шейдер по ней отбрасывал отрисовку, тогда и тени не будет.
Давайте я посмотрю как это обойти и скину примерно завтра.
cos
> <technique name="Techniques/Diff.xml" />
Надо:
<technique name="Techniques/DiffAlpha.xml" />
загляни в папку CoreData/Techiques/
StepEver
Я в том же посте написал, что так и сделал.
Salamandr
Ок, спасиб. Хотя я думал, что может уже есть какое-то готовое решение.
Готовое есть, но ты ломаешь его прозрачностью. Поэтому надо сделать своё. Вечером скину.
cos
> Я в том же посте написал, что так и сделал.
А, блин, не заметил :(
Попробуй поставить в материале:
<parameter name="MatDiffColor" value="0.64 0.64 0.64 0.999" />
StepEver
При "Diff.xml" никакого эффекта, при "DiffAlpha.xml" модель становится прозрачнее.