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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 24.01.2008, 18:17   #1
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Постаянная скорость управления мышью

Здравствуйте!
Подскажите как сделать ограничитель скорости управления мышью.

Управление делал так:
TSpeed#=0.10

mXSp=MouseXSpeed()
mYSp=MouseYSpeed()

    TurnEntity User,mYSp*TSpeed#,0,0
    TurnEntity Usersphere,0,-mXSp*TSpeed#,0
Тут скорость поворота зависит от TSpeed.
Но это не совсем то, что мне надо. Ведь если я буду дёргать мышь быстрее
то и поворачиваться объект будет быстрее.
Мне надо как бы не ограничитель, а постоянную скорость поворота но, что бы
поворачивалось в тех направлениях куда я поворачиваю мышь.
Тобиш влево, вправо, вверх, вниз.

Какие у вас мысли по этому поводу?
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 18:25   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Постаянная скорость управления мышью

TSpeed#=0.10

mXSp=MouseXSpeed()
mYSp=MouseYSpeed()

    TurnEntity User,sgn(mYSp)*TSpeed#,0,0
    TurnEntity Usersphere,0,-sgn(mXSp)*TSpeed#,0
пс. возможно не sgn а sign или что то типа етого.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blitzerg (24.01.2008)
Старый 24.01.2008, 18:36   #3
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Постаянная скорость управления мышью

Вай спасибо помог!
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 18:39   #4
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Постаянная скорость управления мышью

кстати, замечу что способ недостаточно хорош. направлений поворота будет тоько 8.
правельнее было бы рассчитывать вектор направления мыша от центра и нормаировать его (естественно если его модуль отличен от нуля).
и поворачивать камеру в соотвествии с этим (уже отнормированным) вектором (естественно только если его длинна больше нуля)
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 18:44   #5
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Постаянная скорость управления мышью

да точно хз как делать. я тут наконецто решился взяться за дипломник,
ибо несколько месяцев осталось до защиты.

за 10 минут накатал пока управление юзером.
буду использывать в проекте все свои наработки блица

должно получиться чёто типа закоса под механойдов с плохой
графикой и кривой физикой.

а также вейпоинты будут нужны вот тока не знаю делать мне их через попу
или по примеру дипломата. по дипломату кода меньше но делать сложнее.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 18:49   #6
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Постаянная скорость управления мышью

что-то типа етого:

Graphics 640,480,16,2
SetBuffer BackBuffer()

While Not KeyDown(1)
	Cls
	mx=MouseXSpeed()
	my=MouseYSpeed()
	
	d#=Dist(mx,my,0,0)
	If d>0
		dx=mx/d*100
		dy=my/d*100
		Line 320,240,320+dx,240+dy	
	EndIf
	
	Flip
Wend
заместо Line 320,240,320+dx,240+dy , тебе надо будет писать вращение камеры. 100 - это модуль вектора.
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 18:57   #7
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Постаянная скорость управления мышью

Blitzerg а что сложного с вэйпоинтами? Создаешь тип WayPoint, а в типе врага создаешь список или массив всех точек движения. И потом двигаешься по ним, от одной к другой, через поворот.
__________________
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 19:03   #8
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Постаянная скорость управления мышью

Диманче тебе может не сложно, а я не прогер и этого не делал никогда.
Я могу делать только то что уже делал.

Холи, я не понял что это делать должно?
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 19:03   #9
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Постаянная скорость управления мышью

конечно делай "по дипломату"
в противном случае можеш остаться без диплома/
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 19:04   #10
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Постаянная скорость управления мышью

да я не на программиста учусь, проходили по паскалю только хелоу ворлд.
так что даж моя черезжоповая система выше того чему нас учили.
но делать всё равно надо по дипломату.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 21:55   #11
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Ответ: Постаянная скорость управления мышью

По сабжу, можно просто ограничивать скорость поворота.
mXSp=max(MouseXSpeed(), MAX_X_SPEED)
mYSp=max(MouseYSpeed(), MAX_Y_SPEED)

Нормализовать дорого. Возможно, быстрее будет найти угол поворота вектора направления и использовать его для просчета dx и dy.
(Offline)
 
Ответить с цитированием
Старый 24.01.2008, 22:17   #12
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Постаянная скорость управления мышью

alcoSHoLiK, смотри пост 6, там фейковая нормализация.
может и дорого, но один раз за игровой цикл можно и потерпеть
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 00:03   #13
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Ответ: Постаянная скорость управления мышью

Какая ж она фейковая? При нахождении расстояния корень считается. Там у тебя обычная нормализация.
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 18:40   #14
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Ответ: Постаянная скорость управления мышью

Алко, мне кажется, или же в твоем коде скорость поворота - от Max_?_Speed до куда рука юзера дернется? (;
Нужно юзать не max(a,b), а min(a,b) (; Тогда заработает ограничение на скорость поворота.
Кстати, я как-то недавно проводил масштабные исследования скорости движения мышки... Так, для справки и помощи в настройке:
0-10 - это примерная скорость обычного "прогулочного" обзора в контре. Это когда ты только-только выходишь с базы в контре.
10-25 - это когда ты краем глаза засек снайпера, и хочешь быстро и точно на него навестись, зная, что он тебя не видит, но скоро может это сделать.
25-60 - ситуация аналогична выбежавшему из-за угла с маскировкой кровососу, который готов тебя убить на последних подступах к счастью. Т.е. уже не совсем осознанное движение, очень часто - от страха.
60-130 - cybersportsmen only. Сохранять на такой скорости осмысление картинки не-ре-аль-но без длительных и упорных тренировок. А уж точное позиционирование с такой скоростью - и вовсе предел мечтаний многих корейцев.

Больше 130 скорость мне возюканьем мшой по столу развить не удалось, как ни старался.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием
Старый 25.01.2008, 18:42   #15
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Постаянная скорость управления мышью

Больше 130 скорость мне возюканьем мшой по столу развить не удалось, как ни старался.
мышка нагревалась и плавилась

кстати да, надо юзать min

кстати да, нормальизация самая обычная, далеко не фейковая.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поворот объекта мышью Alex_Noc 3D-программирование 14 19.09.2010 17:57
панель управления Pro_100_Den 3D-программирование 6 29.06.2009 13:19
Управление мышью в 3D Мазахист 3D-программирование 15 03.03.2009 22:47
Обзор мышью на Xors3D ABTOMAT Полезные функции 4 15.01.2009 17:44
система управления с USB smersh Blitz3D 5 10.09.2007 01:32


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


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