Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Blitz3D > FAQ

FAQ Туториалы и часто задаваемые вопросы

Ответ
 
Опции темы
Старый 11.02.2010, 18:03   #1
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
PhysX: поворот камеры

Вопрос: у меня есть физическое тело. К нему привязан пивот. К нему привязана камера. При повороте мыши камера, тело и пивот должны крутится (я думаю, всем понятно, как). Заюзал функцию impersonalisa:

Function mouse()

V#=0.5
	u#=70
	TurnEntity cam,MouseYSpeed(),0,0
	pxBodyAddLocalTorque(player_body, 0,MouseXSpeed()/2,0,  1)	;TurnEntity cub,0,-MouseXSpeed(),0 - это то, что было у impersonalisa(закомментированное)

	MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
	If Abs(EntityPitch#(cam))>u# RotateEntity cam,u#*Sgn(EntityPitch#(cam)),0,0
End Function
Всё вроде нормально, кроме одного:Повернул мышь - камера движется, но не перестанет, пока не вернёшь мышь в исходное положение. А мне надо, что б поворачивалось, пока ведёшь. Причём без всяких ускорений и инерций. Как реализовать?
(Offline)
 
Ответить с цитированием
Старый 11.02.2010, 18:15   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,386
Написано 5,219 полезных сообщений
(для 15,093 пользователей)
Ответ: PhysX: поворот камеры

А ты никогда не пробовал понять разницу между
pxBodyAddLocalTorque и TurnEntity ?
Если бы ты её понял, было бы сразу ясно, почему так происходит, и как сделать аналог TurnEntity для физикса.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Online)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
baton4ik (12.02.2010), Reizel (13.02.2010)
Старый 11.02.2010, 18:38   #3
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: PhysX: поворот камеры

о! Я уже сам нашёл! Дико извиняюсь, не подумал! pxBodySetAngularMomentum
(Offline)
 
Ответить с цитированием
Старый 11.02.2010, 20:14   #4
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,429
Написано 3,453 полезных сообщений
(для 6,859 пользователей)
Ответ: PhysX: поворот камеры

Крутить физ объект мышкой, к которой привязана камера? Не лучше ли крутить камеру, и при необходимости поворачивать объект как и камера?
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
ABTOMAT (12.02.2010), baton4ik (12.02.2010), Nex (12.02.2010)
Старый 12.02.2010, 14:48   #5
Spiderman
Знающий
 
Аватар для Spiderman
 
Регистрация: 28.07.2008
Адрес: Киев
Сообщений: 228
Написано 61 полезных сообщений
(для 191 пользователей)
Ответ: PhysX: поворот камеры

При запуске проекта выскакивает сообщение 'Memory Acess violidation'
на функциях:
pxBodyCreateHullFromSSM() и pxCreateMetalCloth()
хотя исходник рабочий и на его основе имеется EXE. Переключатель Debug/Release не помогает. В чем может быть проблема?
__________________
Тяжела жизнь программиста: радость находки своего бага всегда омрачает осознание собственной тупости...
(Offline)
 
Ответить с цитированием
Старый 15.02.2010, 13:59   #6
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: PhysX: поворот камеры

У меня 2 вопроса:
1й. Как бороться с переворотом при перемещении? То есть, у меня есть физ. модель, я применяю к ней силу:
If KeyDown(17) pxBodyAddLocalForce player_body,0,0,20,0
If KeyDown(31) pxBodyAddLocalForce player_body,0,0,-20,0
If KeyDown(30) pxBodyAddLocalForce player_body,-20,0,0,0
If KeyDown(32) pxBodyAddLocalForce player_body,20,0,0,0
If KeyHit(57) and pxGetContacts(player_body)<>0 pxBodyAddForce player_body,0,600,0,0
Если высота в 2 раза меньше ширины и длины, то всё ок (но это слишком низко), а если они хотя бы равны, то моё физ. тело переворачивается. И это с кубом, с капсулой дело обстоит ещё хуже. Изменение центра тяжести помогает, но тогда прыжки уж очень стрёмно выглядят
2й: тут надо посоветовать. Я делаю проект, у меня есть моделлер. Я написал оболочку. Осталось вот что: моделлер должен сам вставлять модели в игру. То есть это должно выглядеть примерно так: он открывает блокнотом файл в папке с игрой, правит его, а блитц понимает (что-то вроде скриптового языка. Вроде такого:
"путь_к_модели";"путь_к_физической_модели";координата_по_Х,Y,Z;маса... (и т.д.)
А игра считывает файл, расшифровывает это и выполняет. В голову никакой реализации не приходит...
(Offline)
 
Ответить с цитированием
Старый 15.02.2010, 14:36   #7
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,386
Написано 5,219 полезных сообщений
(для 15,093 пользователей)
Ответ: PhysX: поворот камеры

Замораживай поворот. И тело не будет крутиться само.
pxBodyFreezeRotationчототам (писал по памяти, мог ошибиться)
А игра считывает файл, расшифровывает это и выполняет. В голову никакой реализации не приходит...
Читать строку из файла.
Распарсивать её по запятым.
Из полученных значений грузить модель
??????
EoF!

Вопрос "как распарсить строку по разделителю" поднимался уже 100500 раз, ищи поиском. Буквально несколько дней назад отвечал на один такой .там же и примерчик.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Online)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
baton4ik (15.02.2010)
Старый 15.02.2010, 14:55   #8
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: PhysX: поворот камеры

Сообщение от ABTOMAT Посмотреть сообщение
Замораживай поворот. И тело не будет крутиться само.
А если тело упадёт с платформы и ему по всем правилам надо будет перевернутся? А заморозка не даст!
(Offline)
 
Ответить с цитированием
Старый 15.02.2010, 17:01   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,386
Написано 5,219 полезных сообщений
(для 15,093 пользователей)
Ответ: PhysX: поворот камеры

Ну вы, батенька, как нибудь определяйте, когда стоит размораживать, а когда нет.
Когда игрок идёт сам - не надо, когда падает кубарем - надо.
Как определять - зависит от реализации.
Не припомню, что видел такое где-то, так что стандартных решений скорее всего нет.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Online)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
baton4ik (15.02.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 22:22.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com