forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопрос-Ответ (для новичков) (http://forum.boolean.name/showthread.php?t=7886)

St_AnGer 01.08.2011 22:03

Ответ: Вопрос-Ответ (для новичков)
 
Возможно проверять контакты тела, смотреть нормаль нужного контакта и ограничивать относительно нормалей как надо?

Mind 02.08.2011 13:26

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от KingMaks
как в Physx предотвратить ходьбу по наклонам? а то заходит даже на наклоны которые почти как стена, а нужно, чтобы максимум на наклон 50-60 градусов

0_о?!! У меня то как раз(когда я начинал изучать физику) было на оборот :-D

Цитата:

Сообщение от St_AnGer
Возможно проверять контакты тела, смотреть нормаль нужного контакта и ограничивать относительно нормалей как надо?

А вообще да. Нормали тебе в помощь. Токо и сними бывют проблемы. Будь внимателен :super: .
Еще можешь увеличить грави(должно помочь).
И посмотри в справке такие команды как:Дампинг,Трение(материалы),Масса.. Поэксперементируй должно помочь (еси руки правильно растут)!
ЗЫ Я лично с нормалями уже дружу пол года и пока все норм спасают меня от багов.

Да кстати ты какую форму геометрии используешь для игрока?Капсулу?

tormoz 02.08.2011 14:35

Ответ: Вопрос-Ответ (для новичков)
 
материалы и настройка параметров помогут

KingMaks 02.08.2011 18:10

Ответ: Вопрос-Ответ (для новичков)
 
Mind Знаю, что глупо, но использую цилиндр для тела игрока :-D
С нормалями никогда не работал, можно чудь по подробней? или где про них справку бы найти?

Mind 02.08.2011 21:55

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от KingMaks
С нормалями никогда не работал, можно чудь по подробней?

Эт плохо т.к в большенстве они нужны(еси ты делаешь 3D игру)

Итак начнём:
1) Нормали.... уууу даже незнаю как рассказать те то.
2)Лучше используй капсулу для игрока(нарисуй в максе и экспортни и зделай хулл),но я использую три деления(верх(для приседания),центр(для движения),низ для подскока(я даже тему создавал в теме ксорса про ноги)).
3) Вернёмся к нормалям. В стандартном блитзовском хелпе есть про нормали (в ксорсе они идентичны).Вкратце: нормаль(имеет значение от 0 до 1) определяет ... блин лучше в иннете по гугли.Кароче еси ты дотронулся шаром(к примеру) до точки то через нормали(команду) можно определить как бы угол(образно) относительно прикосновения.
Я лично нетом не пользовался по этой теме а все добивался сам методом эксперемента :super: .

dsd 02.08.2011 23:54

Ответ: Вопрос-Ответ (для новичков)
 
Нормаль это перпендикуляр к плоскости. Если плоскость задана уравнением вида аХ+bY+cZ+d=0, то нормаль это вектор(a,b,c). Если вектор нормали привести к длине 1, то он будет(кос(альфа), кос(бета), кос(гамма)). где альфа угол вектора к оси икс, бета к игрек и гамма к зед.

Mr_F_ 03.08.2011 00:03

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

(имеет значение от 0 до 1)
от -1 до 1

dsd 03.08.2011 00:10

Ответ: Вопрос-Ответ (для новичков)
 
А вот нифига, или 1 или -1 если уж нато пошло. А вообще ниче не мешало мне ставить нормали любой длины, главное чтобы направление верное было :D

Mind 03.08.2011 09:53

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Mr_F_ (Сообщение 197749)
от -1 до 1

Да извиняюсь от -1 до 1.

Цитата:

Сообщение от dsd
А вот нифига, или 1 или -1 если уж нато пошло.

Мы говорим про команду которая возвращает компонент нормали, и её значение может быть в пределах -1 - 1 включительно.

dsd 03.08.2011 11:19

Ответ: Вопрос-Ответ (для новичков)
 
Mind, а какова длина нормали? И если нормаль направленна противоположно нормальному вектору, что это будет значить?

кстати команда xvectorpitch и xvectoryaw вернет углы наклона вектора. От них можно определить превышает ли угол плоскости тот после, которого подъем уже не возможен или нет. И можно вычислить направление куда должен соскользнуть игрок если плоскость имеет наклон больше.

Mind 03.08.2011 13:30

Ответ: Вопрос-Ответ (для новичков)
 
Я видно не так хорошо разбираюсь в векторах как ты...
И это плохо!надо как то начать.. ну ладно. :)

...но я имел в виду команду CollisionNY(к примеру):

Цитата:

Возвращает Y-компонент нормали столкновения.

Индекс должен быть в пределах 1...CountCollisions(entity) включительно.


KingMaks 08.08.2011 20:59

Ответ: Вопрос-Ответ (для новичков)
 
Допустим есть число 2.34567, как его привести к числу вида 2.34, тоесть оставить только две цифры после точки?
Можно, конечно, сделать через строки, но мне кажеться ето не правельно:-D

NitE 08.08.2011 21:47

Ответ: Вопрос-Ответ (для новичков)
 
Код:

Function x$(num#,p%)
Local str$=String(num)
Return Left(str$,Instr(str$,".")+p)
EndFunction


KingMaks 14.08.2011 04:45

Ответ: Вопрос-Ответ (для новичков)
 
а что в Blitz нету команды перевода из строки в число? как это обойти?

RBK 14.08.2011 11:03

Ответ: Вопрос-Ответ (для новичков)
 
Есть:
Int( строка ) - Преобразовывает строку в ближайшее целое значение.
Float#( строка ) - Преобразовывает строку в float соответственно.

Обходить ничего не надо, т. к. перевод происходит автоматически, в зависимости от типа переменной (определяется спец. символами %, #, $ ).


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

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