3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Помогите написать контроллер поднятия таза, при проваливании маркера н, Задолбался уже.
OneManArmy
сообщение 17/05/2015, 11:16
Сообщение #1


Новичок
Иконка группы

Группа: Пользователи
Сообщений: 1
Регистрация: 17/05/2015
Пользователь №: 108 467



Имеются маркеры mocap. Писалось всё не на ровном полу. Периодически нога проваливается под землю. Необходимо поднимать (оставлять на уровне маркер таза), когда оба маркера ноги опускаются ниже уровни земли.
Создал объект, на который линкуется таз. Идея такова. Если оба маркера ноги выше уровня земли, позиция объекта равна позиции маркера таза, в это время запоминаем дистанцию до земли по z. Если оба маркера проваливаются то позиция объекта равна xy маркера таза, земля.z+запечатлённая дистанция по z.
И так. Задача вроде проста. Перейдём к реализации.


Создаём переменные.
FootF (привязываем к маркеру носка ноги)
FootB(привязываем к маркеру пятки ноги)
Ground (привязываем к земле)
Pelvis (привязываем к маркеру таза)

Далее такой вот скрипт.
if (FootB.pos.z>Ground.pos.z) and (FootF.pos.z>Ground.pos.z)
then
[Pelvis.pos.x,Pelvis.pos.y,Pelvis.pos.z]
if (FootB.pos.z>Ground.pos.z) and (FootF.pos.z>Ground.pos.z)
then
D=Pelvis.pos.z-Ground.pos.z
else
[Pelvis.pos.x,Pelvis.pos.y,Ground.pos.z+D]


Два раза писал условие, потому что на это макс начинает орать:
then
[Pelvis.pos.x,Pelvis.pos.y,Pelvis.pos.z]
D=Pelvis.pos.z-Ground.pos.z
После then я так понимаю должна быть одна строчка.

В итоге макс всё равно орёт
unable to convert to type point3

Ага подумал я, видно переменная D по умолчанию идёт в виде Vector3.
Написал так.
D.pos.z=Pelvis.pos.z-Ground.pos.z

В итоге
unknown property pos in 0

Дальше не приложу ума что мне делать?

Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






Reply to this topicStart new topic

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 29/03/2024 - 04:57