|
07.10.2009, 20:08
|
#1
|
Разработчик
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений (для 74 пользователей)
|
АВТОМАТ,я замучился с отскаливанием модели в примере с регдолом
Начитавшись учебника по физиксу меня торкнуло на подвиги. Решил я сделать кровавую стрелялку про зомби.
Всё есть : модель, анимация , физ . скелет.
Ты всё написал в регдоле , но забыл одно про отскаливание моделек.
Пишу в функции создания человека :
ScaleEntity M\Mesh,0.5,0.5,0.5
ScaleEntity M\pxMesh ,0.5,0.5,0.5
Вклучаю , создаю модельку , включаю регдолл и вместо того чтобы реалистично падать она взмывает в небо так что не увидишь её.
Позже я понял , что модель принимает размеры, а физ скелет то нет.
Впоследующие разы я упорно пытался отскалить физ скелет но безуспешно!!!
Подскажи как мне это исправить
|
(Offline)
|
|
07.10.2009, 20:41
|
#2
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: АВТОМАТ,я замучился с отскаливанием модели в примере с регдолом
В той же теме в посте №4 читаем:
В блитзе с объектом, из которого будете делать Hull, НЕ использйуте команды: TurnEntity, RotateEntity, MoveEntity, PositionEntity, ScaleEntity. Вместо них надо использовать PositionMesh, RotateMesh, ScaleMesh.
|
Либо, если очень надо, то юзаем функцию KillTransformMatrix(mesh)
Function KillTransformMatrix(mesh)
ScaleMesh mesh, GetScaleX(mesh),GetScaleY(mesh),GetScaleZ(mesh)
RotateMesh mesh, EntityPitch(mesh,1), EntityYaw(mesh,1), EntityRoll(mesh,1)
PositionMesh mesh, EntityX(mesh,1), EntityY(mesh,1), EntityZ(mesh,1)
End Function
;масштаб по X
Function GetScaleX#(Entity)
S_Componentx# = GetMatElement(Entity, 0, 0)
S_Componenty# = GetMatElement(Entity, 0, 1)
S_Componentz# = GetMatElement(Entity, 0, 2)
Return Sqr(S_Componentx#*S_Componentx# + S_Componenty#*S_Componenty# + S_Componentz#*S_Componentz#)
End Function
;масштаб по Y
Function GetScaleY#(Entity)
S_Componentx# = GetMatElement(Entity, 1, 0)
S_Componenty# = GetMatElement(Entity, 1, 1)
S_Componentz# = GetMatElement(Entity, 1, 2)
Return Sqr(S_Componentx#*S_Componentx# + S_Componenty#*S_Componenty# + S_Componentz#*S_Componentz#)
End Function
;масштаб по Z
Function GetScaleZ#(Entity)
S_Componentx# = GetMatElement(Entity, 2, 0)
S_Componenty# = GetMatElement(Entity, 2, 1)
S_Componentz# = GetMatElement(Entity, 2, 2)
Return Sqr(S_Componentx#*S_Componentx# + S_Componenty#*S_Componenty# + S_Componentz#*S_Componentz#)
End Function
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 8 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
08.10.2009, 18:24
|
#3
|
Разработчик
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений (для 74 пользователей)
|
Ответ: АВТОМАТ,я замучился с отскаливанием модели в примере с регдолом
А нет обходного путя не в 2 км а в 2см. Нет я конечно могу взять в один фаил ентот код ,а потом его загрузить , но время, ресурсы.
Короче со ScaleMesh я тоже попробовал не фига . Подскажи что-нибудь другое.
|
(Offline)
|
|
08.10.2009, 18:31
|
#4
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: АВТОМАТ,я замучился с отскаливанием модели в примере с регдолом
Причина проблемы в том, что Scale/Move/Translate/Position/RotateEntity меняет матрицу трансформации объекта, но не меняет положения вершин. А в физикс передаются именно координаты вершин. Значит, ищи способ изменить их при передаче в соответствии с поворотом, скейлом, и т.д. Один способ я предложил и он мне нравится . Если он не нравится тебе - флаг в руки...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.11.2009, 18:30
|
#5
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: АВТОМАТ,я замучился с отскаливанием модели в примере с регдолом
Бота разве нельзя отскалить в максе.
|
(Offline)
|
|
26.11.2009, 20:10
|
#6
|
Разработчик
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений (для 74 пользователей)
|
Ответ: АВТОМАТ,я замучился с отскаливанием модели в примере с регдолом
можно то можно. Ну отскалил... А если не подошло ? Ещё раз отскаливать!))) Девелопер)))
__________________
Самый первый и самый великий программист - это Бог.
|
(Offline)
|
|
26.11.2009, 21:11
|
#7
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: АВТОМАТ,я замучился с отскаливанием модели в примере с регдолом
Ganociy ты че, у тебя в максе все в разных масштабах? Ну блин девелопер.
Насмешил. или кажный бот разного размера?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:33.
|