forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Фак по Юнити. (http://forum.boolean.name/showthread.php?t=12966)

burovalex 29.03.2013 10:15

Ответ: Фак по Юнити.
 
Ну это ж вода, хотелось бы хоть немного альфы.
А про шейдеры не понял, в Юнити же вроде точно такие же..
Если нет, то какой может подойти?

pax 29.03.2013 10:18

Ответ: Фак по Юнити.
 
Это те же шейдеры, ты просил оригинальные.

Меняй любой, называй по своему и это новый шейдер.
чтобы выключить кулинг - Cull Off
http://docs.unity3d.com/Documentatio...s/SL-Pass.html

burovalex 29.03.2013 10:20

Ответ: Фак по Юнити.
 
А понял, спасибо Андрюх!
Ты случайно не в Нефтеюганске живёшь, я бы проставился ))

burovalex 02.04.2013 22:47

Ответ: Фак по Юнити.
 
Всем доброго времени суток. Наконец то разобрался с ragdoll'ами и понял что это подходит только для человекоподобных существ, у которых должны быть ноги, колени, руки локти и тд.

А я думал что можно выбрать кости: к примеру голова, спина и любая нога. И получиться червяк.. )

Но юнити требует все вышеописанные кости.
Можно ли попустим сделать паука рэгдолом(я подразумеваю физический труп) без ручного прописания всех джоинтов?
Или все таки придётся для каждой лапы прописывать связь и тд?
И каждую кость делать Rigidbody?

pax 02.04.2013 23:14

Ответ: Фак по Юнити.
 
Попробуй написать свой Editor скрипт для таких целей. Никто же не знает какие у тебя задачи ;)

burovalex 03.04.2013 11:15

Ответ: Фак по Юнити.
 
Ну задача у меня сделать труп типа рэгдола, но не для человека, а например для паука, у которого строение не похоже на человека.
Это надо кости джоинтами вручную соединять?

Цитата:

Попробуй написать свой Editor скрипт для таких целей.
Я пока не умею скрипты для редактора писать, но если есть хороший материал было бы не плохо для общего развития )

pax 03.04.2013 12:18

Ответ: Фак по Юнити.
 
У меня на вики есть три статьи по расширению редактора простейшие.
http://shgames.ru/

burovalex 03.04.2013 15:30

Ответ: Фак по Юнити.
 
Ну это немножко не то.
Чтобы создавать произвольный рэгдол надо чтото типа Tree генератора.
А у меня это в голове пока не укладывается.

burovalex 05.04.2013 21:46

Ответ: Фак по Юнити.
 
Вложений: 3
Решил сделать анимацию травы, которая процедурно распространяется. И появилась кучка вопросов.
Помоги пожалуйста разобраться.

У меня на скрине это префаб, в котором скрипт LOD меняет меш в зависимости от расстояния.
Пока это были меши, проблем не было. Но анимационный меш вместо простого не вставляется.

Какие ссылки мне надо ложить в скрипт? Может надо собрать какие то префабы?
Чтобы можно было положить скиновый меш в Mesh Renderer и добавить анимацию в Animations если она имеется.

И делал ли кто-нибудь так, чтобы 3д Максе было слеплено Две меши и привязаны к одним костям. А в юнити через одну анимацию анимировать один меш, а затем изменив на второй меш, продолжить проигрывать анимацию?

Это очень полезно для изменения детализации ncp (или npc, короче ботов).

И не могу найти как создать Skinned Mesh Rendered. (3-й скрин)

И не пойму зачем в импортированном скиновом меше 3 поля. (2-й скрин)
Одно сам меш, второе кости, а зачем еще и отдельно префаб со Skinned Mesh Renderer, не понимаю

pax 05.04.2013 22:42

Ответ: Фак по Юнити.
 
Пробуй анимировать вершинным шейдером, анимировать с помощью костей не вариант, потому что все считается на процессоре, а не на гпу.
Попробуй например в цвет вершин заложить какой-то параметр для анимации и анимировать вершинным шейдером.

seaman 05.04.2013 23:46

Ответ: Фак по Юнити.
 
Классика - анимация травы шейдером:
http://steps3d.narod.ru/tutorials/grass-tutorial.html
Для Юнити:
http://unity3d.ru/distribution/viewt...hp?f=35&t=1745
ЗЫ: Думаю в Юнити именно так и делается

burovalex 06.04.2013 08:17

Ответ: Фак по Юнити.
 
Спасибо за советы.
Ну ответьте на вопросы пожалуйста.
Мне всё равно надо учиться анимацией пользоваться..

pax 06.04.2013 12:21

Ответ: Фак по Юнити.
 
Ответы:

1. MeshRenderer ничего не анимирует, костями анимирует SkinnedMeshRenderer. Animation анимирует дочерние объекты по иерархии и названиям. Чтобы работал SkinnedMeshRenderer, у него должны быть указаны свойства bones, sharedMesh. Меш должен иметь bindPoses и boneWeights.
2. Объект может иметь несколько дочерних SkinnedMeshRenderer'ов. Т.е. Animation двигает кости - все они будут анимированы. sharedMesh можно менять у одного SkinnedMeshRenderer'a, но вопрос по корректировке массива костей не помню.
3. Создавай кодом.
4. 1) Ассет меша, 2) иерархия костей, которыми управляет Animation, 3) Объект со SkinnedMeshRenderer, который визуализирует деформированный костями объект. Корневой объект содержит Animation, которым выполняется анимация костей.

burovalex 07.04.2013 21:39

Ответ: Фак по Юнити.
 
Решил попробовать использовать override.
Но чтото не получается, в справке покопался - такого не нашёл.

А хотел сделать так чтобы не проверять каждый раз условия в Update
Чтобы было не так
PHP код:

void Update()
{
if (
a==1) {...}
if (
a==2) {...}


А хотел сделать примерно так
PHP код:

void Start()
{
if (
a==1) {override void UpdateMetod(){...;} }
if (
a==2) {override void UpdateMetod(){...;} }
}

void Update()
{
UpdateMetod()


Я понял что override используется в классах. Посматрел на msdn доступный пример про Shapes.
Но может есть вариант решения моей задачи?

pax 07.04.2013 21:53

Ответ: Фак по Юнити.
 
То что ты хочешь сделать надо делать с помощью делегатов, например с системным делегатом Action
PHP код:

System.Action myUpdate;

void Start()
{
if (
a==1) {myUpdate =  Update1;}
if (
a==2) {myUpdate =  Update2;}
}

void Update();
{
myUpdate()
}  

void Update1()
{

}  

void Update2()
{



либо с помощью лямбда выражений
PHP код:

System.Action myUpdate;

void Start()
{
if (
a==1) {myUpdate =  ()=>{ ... }}
if (
a==2) {myUpdate =  ()=>{ ... }}
}

void Update()
{
myUpdate();




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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot