![]() |
Нормаль коллизии
Всё бы здорово только надо это порделать с анимированной моделью.Первая модель сложная вогнутая, но мне нужно узнать соприкосновение сферы с выгнутой частью этой модели. Кароче мне нужна нормаль к поверхности сферы и прикосающейся к ней анимированной модели. Что можете посоветовать?
|
Ответ: Нормаль коллизии
Если у тебя есть точка на сфере, то от центра сферы к точке можешь найти вектор ты. Приведя его к единичной длине получишь нормаль к этой точке поверхности сферы.
Хоть бы схему нарисовал, да? ЗЫ чувствую себя кэпом. |
Ответ: Нормаль коллизии
dsd, это априори известно, про сферу то, я еще упомянул модель мою, и нормаль к ней в той точке в которой соприкасается сфера и модель. Нормаль к поверхности сферы, легко. Нормаль к поверхности неопределенного 'анимированного' меша сложнее, и к тому же надо найти точку их соприкосновения.
|
Ответ: Нормаль коллизии
А проверить все точки в радиусе ли сферы они или нет? А также проверить плоскости всех полигонов, а не ближе ли они к центру сферы, чем радиус оной? В чем проблема то? Или нужна команда с флагом которая все сама сделает?
|
Ответ: Нормаль коллизии
dsd, до того как ты написал первый пост я уже это реализовал.)) На модели вертексы нужные красятся, сейчас у меня загвоздка как правильно нормаль из неё вытянуть. Помогеш мне? nx,ny,nz определил, но как правильно в глобал их передать?
|
Ответ: Нормаль коллизии
xTform для чего создана была? А ваще всякие там матрицы смещения, поворота, масштаба. Ну синусы, косинусы разные.
|
Ответ: Нормаль коллизии
dsd, да вот что то не выходит с tform'ом, а "всяки" это сложно. Ща попробую как то отбразить их, наверн через лайн, а то не пойму что вообще выходит. Кстать анимация довольно быстрая и меш бывает проваливается в сферу в первом же касании давольно глубоко, этим еще осложняется.
|
Ответ: Нормаль коллизии
смотри. Есть полигоны. Для каждого полигона ты можешь найти его центр. Ну и радиус сферы внутри которой этот полигон точно поместится.
Проверить есть ли пересечение этих сфер просто. И ты это уже делал когда обратную кинематику делал. Если нет пересечения, значит полигон не касается. Если есть и касание по какой-то вершине или ребру, то нормаль это минус нормаль сферы к этой точке. А если касание происходит на полигоне то нормаль это нормаль плоскости совпадающей с полигоном. |
Ответ: Нормаль коллизии
Пока на малой скорости проверяю дистанцию от точек. Если этого будет не достаточно то попробую, но пока сложновато понимаю как это... про то что ты сказал.
А глянь вот это как думаеш, должно работать? Код:
x=xVertexX(surf,Vertex) |
Ответ: Нормаль коллизии
Нормаль тоже тформить надо. А так че бы и не работать ей?
Но ты лучше кубик вытяни и ставь на тформленную точку и равняй по тформленному вектору, так оно наглядней по моему. |
Ответ: Нормаль коллизии
dsd,лады попробую.
|
Ответ: Нормаль коллизии
Хм, а ровнять вектор_пинчем и _явом? Линия получилось смотрит параллельно плоскости ксания. Не порядок...
|
Ответ: Нормаль коллизии
О господи! xAlignToVector, же.
|
Ответ: Нормаль коллизии
ах да!) верно!))
|
Ответ: Нормаль коллизии
dsd, объясни подробней прошу, про то что если нормаль шара вычесть из точки то получу нормаль точки, или я тебя не понял? ( ПОСТ_8 )
|
Часовой пояс GMT +4, время: 18:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot