3D Инструктор и TrackIR
Инструктор пока не удовлетворяет требованиям обучения поведению на дороге и ни стерео изображение и не трекер здесь не помогут.
Т.к. в симуляторе нет достаточного количества дорожных ситуаций, которые бы отражали все пдд, возможные ситуации с трафиком, всевозможные сложности маневрирования и т.п. Ибо маршруты практически все коротки и скупы на дорожные ситуации и применимые к ним правила. Но самое главное тут опять-таки трафик (ИИ) и физика автомобиля собственно "обучаемого".
Итак, трафик - я уже писал:
- не соблюдает систематически правила (требования главной дороги, помехи справа, превышение скорости, правила перестроения)
- не имеет массы (машина с лучае чего останавливается как вкопанная)
О каких тут примочках, видах и т.п. можно говорить, когда, если предусматривать ту самую инерционность мышления, получается, что будущий водитель выйдя на дорогу думает, что при любом его маневре другой водитель обязательно успеет затормозить? Или иллюзия, что ты сам если что не успеешь затормозить или разогнаться?
Т.к. в симуляторе нет достаточного количества дорожных ситуаций, которые бы отражали все пдд, возможные ситуации с трафиком, всевозможные сложности маневрирования и т.п. Ибо маршруты практически все коротки и скупы на дорожные ситуации и применимые к ним правила. Но самое главное тут опять-таки трафик (ИИ) и физика автомобиля собственно "обучаемого".
Итак, трафик - я уже писал:
- не соблюдает систематически правила (требования главной дороги, помехи справа, превышение скорости, правила перестроения)
- не имеет массы (машина с лучае чего останавливается как вкопанная)
О каких тут примочках, видах и т.п. можно говорить, когда, если предусматривать ту самую инерционность мышления, получается, что будущий водитель выйдя на дорогу думает, что при любом его маневре другой водитель обязательно успеет затормозить? Или иллюзия, что ты сам если что не успеешь затормозить или разогнаться?
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Ну, допустим, он нас удовлетворит. И тогда начнет работать то, о чем я написал.
Не переживайте. Разумеется, AI стоит на первом месте. Разве это кто-то осуждал? Физика мне кажется менее важной, чем интеллект. Я понимаю, вы хотите, чтобы при резком торможении машина сзади могла в вас влететь. Это правильно. А что у нас с остальным? Графика, кол-во доступных машин и мелкие детали их различия, Москва (?), вьючные животные (точно! как насчет добавления к симулятору возможности управления от лица повозки с сеном? в ПДД это есть!) Вам это надо? Мне - нет, о чем я и спешу заявить, для чего форум и добродетель чутких и внимательных разработчиков и существуют. Бессмысленно пытаться научиться ездить на конкретной модели в программе - все равно в жизни все иначе: чистый телесный опыт перекрывает все остальные прошлые впечатления, "игровой" опыт здесь не поможет. И я не парился бы, даже если деревья были бы спрайтовыми (с трекером зело забавно). Лично я предпочел бы, чтобы одно было принесено в жертву другому.
И никто не просит принести в жертву очевидные и первоочередные нужды, и не ждет, что из вакуума вдруг материализуется нужный код или на крыльце возникнет толпа китайских левелмейкеров, готовых работать за еду 18 часов в сутки и смоделировать за месяц всю до единого подземного гаража Москву. Но ради страстно желаемых мой функций я готов ждать не до осени, а, скажем, до Нового года. Если нет - то до версии 2.2 или 2.7, но Мультисофт имеет право узнать как можно большее число адекватных пожеланий. Свои я считаю адекватными.
Не переживайте. Разумеется, AI стоит на первом месте. Разве это кто-то осуждал? Физика мне кажется менее важной, чем интеллект. Я понимаю, вы хотите, чтобы при резком торможении машина сзади могла в вас влететь. Это правильно. А что у нас с остальным? Графика, кол-во доступных машин и мелкие детали их различия, Москва (?), вьючные животные (точно! как насчет добавления к симулятору возможности управления от лица повозки с сеном? в ПДД это есть!) Вам это надо? Мне - нет, о чем я и спешу заявить, для чего форум и добродетель чутких и внимательных разработчиков и существуют. Бессмысленно пытаться научиться ездить на конкретной модели в программе - все равно в жизни все иначе: чистый телесный опыт перекрывает все остальные прошлые впечатления, "игровой" опыт здесь не поможет. И я не парился бы, даже если деревья были бы спрайтовыми (с трекером зело забавно). Лично я предпочел бы, чтобы одно было принесено в жертву другому.
И никто не просит принести в жертву очевидные и первоочередные нужды, и не ждет, что из вакуума вдруг материализуется нужный код или на крыльце возникнет толпа китайских левелмейкеров, готовых работать за еду 18 часов в сутки и смоделировать за месяц всю до единого подземного гаража Москву. Но ради страстно желаемых мой функций я готов ждать не до осени, а, скажем, до Нового года. Если нет - то до версии 2.2 или 2.7, но Мультисофт имеет право узнать как можно большее число адекватных пожеланий. Свои я считаю адекватными.
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Для интересущихся, как это работает, на ютубе, кстати, первый попавшийся ролик http://youtube.com/watch?v=_AO0F5sLdVM
Сильно, но без широкоформатного монитора или TH2GO смысла мало.oldfashion писал(а):Для интересущихся, как это работает, на ютубе, кстати, первый попавшийся ролик http://youtube.com/watch?v=_AO0F5sLdVM
Также мне почему-то не хочется, чтобы у меня на голове что-то висело, это хоть и обучающая программа, но я сажусь за неё, чтобы отдохнуть, в т.ч. желания коситься на монитор тоже нет, для глаз не полезно...
Вот другой вопрос - просто свободный обзор мышью и возможность назначения на кнопки мыши каких-нть функций, например, на кнопки передача вверх и передача вниз, соответственно и реалистичности больше, т.е. чтобы переключить передачу мы убираем одну руку с руля и тянемся к мыши. Разумеется что-то типа движений мыши, соответстующих движению рычага коробки передач, это уже слишком и трудно реализуемо, но назначать функции на любое устройство очень бы хотелось...
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Нет, у меня все прекрасно и с моим старым 19'' iiyamaVoland писал(а):Сильно, но без широкоформатного монитора или TH2GO смысла мало.
Бейсболка - это не сильно напрягает. Нигде не давит, ничему не мешает. Честно )Voland писал(а):Также мне почему-то не хочется, чтобы у меня на голове что-то висело, это хоть и обучающая программа, но я сажусь за неё, чтобы отдохнуть
Это первое заблуждение, которое выказывает каждый, пока не попробует сам хотя бы с Cam2Pan и вебкамерой. Меня, как и многих, именно они убедили, что я хочу TrackIR. На самом деле все очень удобно и никуда особо косить не надо. При угле обзора 180 в игре я настраиваю чувствительности так, чтобы максимальный угол поворота головы был 45. Это самый комфортный для меня вариант. При этом глаза "косят" лишь градусов на 15-20 максимум, т.к. поворачиваю голову, чтобы увидеть то, что так и так будет на краю экрана. Это вообще ничто. Поворачиваю голову влево - смотрю на левый край, вправо - на правый, поэтому никаких предельных скашиваний нет и в помине. Это органично и естественно, а тех 15 градусов просто не замечаешь. Можно то же самое сделать с углом 360 в игре - но тогда просто чувствительность возрастает в два раза, что мне лично не очень нравится. В LFS мне проще пользоваться дополнительно кнопками обзора вбок. Жму нужную кнопку на руле и головой доворачиваю до вида назад. Или сразу вид назад, но с полной возможностью смотреть вправо-влево, но я этим не пользуюсь, т.к. далеко от жизни.Voland писал(а):в т.ч. желания коситься на монитор тоже нет, для глаз не полезно...
К слову, для глаз коситься - очень даже полезно!
Лучше всего была бы имитация реального движения рычагом по принципу Drag'n'Drop. Жмешь мышь - тащишь - двигаешь рычаг. В крайних положениях включается передача, в промежуточных - нейтрал, как и положено. Задать стенки-ограничители для перемещения виртуального рычага - проблемы никакой не вижу. Само положение рычага можно показывать в углу экрана схематично. Это же не Black and White, где нужно писать дополнительный алгоритм вроде OCR, чтобы опознавать сложные траектории мыши. Здесь у нас всего 4 отрезка, по которым она движется. И дать всем людям "настоящую" механическую коробку.Voland писал(а):Вот другой вопрос - просто свободный обзор мышью и возможность назначения на кнопки мыши каких-нть функций, например, на кнопки передача вверх и передача вниз, соответственно и реалистичности больше, т.е. чтобы переключить передачу мы убираем одну руку с руля и тянемся к мыши. Разумеется что-то типа движений мыши, соответстующих движению рычага коробки передач, это уже слишком и трудно реализуемо, но назначать функции на любое устройство очень бы хотелось...
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Т.е., двигай мышь хоть по диагонали - она пойдет только по отрезку. Снимаются только те координаты, которые разрешены для данного отрезка и данной крайней точки.
Условно
Нейтраль в центре:
X=0 Y=0 - двигай куда хочешь
Первая:
движение 1) X=-1 Y=0 (в этой точке слева стенка. Только X+ и Y+/-)
движение 2) X=-1 Y=1 (первая передача. Только Y-)
Вторая из первой
X=-1
Y=-1
Дальше
1) X=-1 Y=0 (нейтраль)
2) X=0 Y=0 (нейтраль, нулевое положение)
3) X=0 Y=1 (третья)
А в промежуточных точках - движение по отрезку.
И только по нажатии мыши. В остальное время мышь - свободный обзор
Условно
Нейтраль в центре:
X=0 Y=0 - двигай куда хочешь
Первая:
движение 1) X=-1 Y=0 (в этой точке слева стенка. Только X+ и Y+/-)
движение 2) X=-1 Y=1 (первая передача. Только Y-)
Вторая из первой
X=-1
Y=-1
Дальше
1) X=-1 Y=0 (нейтраль)
2) X=0 Y=0 (нейтраль, нулевое положение)
3) X=0 Y=1 (третья)
А в промежуточных точках - движение по отрезку.
И только по нажатии мыши. В остальное время мышь - свободный обзор
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Ну и мертвая зона в передачах, чтобы было ощущение "фиксирования" - в одну десятую всего отрезка (стороны квадрата).
Флужу уже
Короче, такой алгоритм любой школьник натопчет.
Флужу уже
Короче, такой алгоритм любой школьник натопчет.
Последний раз редактировалось oldfashion Вт сен 11, 2007 3:27 am, всего редактировалось 1 раз.
Не знаю, если будет время, сам попробую нечто подобное реализовать, посмотрю насколько это удобно и просто сделать.oldfashion писал(а):Т.е., двигай мышь хоть по диагонали - она пойдет только по отрезку. Снимаются только те координаты, которые разрешены для данного отрезка и данной крайней точки.
Условно
Нейтраль в центре:
X=0 Y=0 - двигай куда хочешь
Первая:
движение 1) X=-1 Y=0 (в этой точке слева стенка. Только X+ и Y+/-)
движение 2) X=-1 Y=1 (первая передача. Только Y-)
Вторая из первой
X=-1
Y=-1
Дальше
1) X=-1 Y=0 (нейтраль)
2) X=0 Y=0 (нейтраль, нулевое положение)
3) X=0 Y=1 (третья)
А в промежуточных точках - движение по отрезку.
И только по нажатии мыши. В остальное время мышь - свободный обзор
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Сделать-то просто. Просто брать float дельту по координатам мыши с const-коэффициентом (допустим, 0.005, для простоты дальнейшего использования - чтобы самое длинное движение из края в край было в две единицы, а не в 400px), а потом эту (+/-)дельту прибавлять к положению рычага согласно правилу для того отрезка/точки, где тот находится.
А вот насколько это удобно - вопрос занятный. Думаю, что по-любому удобнее, чем последовательное переключение с третьей на реверс )
А вот насколько это удобно - вопрос занятный. Думаю, что по-любому удобнее, чем последовательное переключение с третьей на реверс )
Воть Набросал что-то подобное. Эмуляция переключения мышью КП ВАЗ 2110 и т.п.
Переключение производится при нажатой левой кнопке мыши.
Ваглядит невзрачно, но если сделать графику и немного убрать ограничения на правильное "втыкание", то вполне сносный вариант...
Переключение производится при нажатой левой кнопке мыши.
Ваглядит невзрачно, но если сделать графику и немного убрать ограничения на правильное "втыкание", то вполне сносный вариант...
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Вот фигня какая-то. Если что - не пинать. Я в экшнскрипт еще не влезал ни разу. А больше сейчас не на чем.
http://stream.ifolder.ru/3293909
Ниже код. Ценности никакой. Мало ли. Что я там написал - сам не понял.
http://stream.ifolder.ru/3293909
Ниже код. Ценности никакой. Мало ли. Что я там написал - сам не понял.
копипаста писал(а):import flash.display.Sprite;
import flash.events.MouseEvent;
var ShifterX:Number = 0;
var ShifterY:Number = 0;
var ShifterdX:Number = 0;
var ShifterdY:Number = 0;
var MouseX:Number;
var MouseY:Number;
var MousedX:Number;
var MousedY:Number;
var Dragging:Boolean = false;
var Coef:Number = 0.01;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0x000000);
circle.graphics.drawCircle(200, 200, 40);
addChild(circle);
function Draw():void
{
ShifterdX = MousedX * Coef * 2;
ShifterdY = MousedY * Coef * 2;
if(ShifterY>0.3 || ShifterY<-0.3) ShifterdX=0;
// trace(ShifterX + " / " + ShifterY);
if(ShifterX + ShifterdX >= -1 && ShifterX + ShifterdX <= 1 && ShifterdX < 0.05)
{
if(ShifterX < -0.7)
{
circle.x = -100;
if(ShifterY + ShifterdY >= -1 && ShifterY + ShifterdY <= 1 && ShifterY != 0)
{
if(ShifterY < -0.7) circle.y=-100;
else if(ShifterY > 0.7) circle.y=100;
else if(ShifterY > -0.3 && ShifterY < 0.3) circle.y = 0;
else circle.y = ShifterY / Coef;
}
}
else if(ShifterX > 0.7)
{
circle.x = 100;
if(ShifterY + ShifterdY >= -1 && ShifterY + ShifterdY <= 1 && ShifterY != 0)
{
if(ShifterY < -0.7) circle.y=-100;
else if(ShifterY > 0.7) circle.y=100;
else if(ShifterY > -0.3 && ShifterY < 0.3) circle.y = 0;
else circle.y = ShifterY / Coef;
}
}
else if(ShifterX > -0.3 && ShifterX < 0.3)
{
circle.x = 0;
if(ShifterY + ShifterdY >= -1 && ShifterY + ShifterdY <= 1 && ShifterY != 0)
{
if(ShifterY < -0.7) circle.y=-100;
else if(ShifterY > 0.7) circle.y=100;
else if(ShifterY > -0.3 && ShifterY < 0.3) circle.y = 0;
else circle.y = ShifterY / Coef;
}
}
else {circle.x = ShifterX / Coef; ShifterY = 0;}
ShifterX += ShifterdX;
ShifterY += ShifterdY;
}
}
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown)
function mouseDown(event:MouseEvent):void
{
MouseX = event.stageX;
MouseY = event.stageY;
Dragging = true;
}
stage.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
function mouseReleased(event:MouseEvent):void
{
MousedX = 0;
MousedY = 0;
Dragging = false;
if (ShifterX<-0.7 && ShifterY>0.3) {ShifterX=-1; ShifterY=1; ShiftText.text="2";}
if (ShifterX<-0.7 && ShifterY<-0.3) {ShifterX=-1; ShifterY=-1; ShiftText.text="1";}
if (ShifterX>0.7 && ShifterY>0.3) {ShifterX=1; ShifterY=1; ShiftText.text="R";}
if (ShifterX>0.7 && ShifterY<-0.3) {ShifterX=1; ShifterY=-1; ShiftText.text="5";}
if (ShifterY>-0.3 && ShifterY <0.3) {ShifterX=0; ShifterY=0; ShiftText.text="N";}
if (ShifterX>-0.3 && ShifterX<0.3 && ShifterY>0.3) {ShifterX=0; ShifterY=1; ShiftText.text="4";}
if (ShifterX>-0.3 && ShifterX<0.3 && ShifterY<-0.3) {ShifterX=0; ShifterY=-1; ShiftText.text="3";}
Draw();
}
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMovement);
function mouseMovement(event:MouseEvent):void
{
if(Dragging)
{
MousedX = event.stageX - MouseX;
MousedY = event.stageY - MouseY;
MouseX = event.stageX;
MouseY = event.stageY;
Draw();
}
}
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Работает драг-н-дропом. Тащить в любой части окна. Коэффициент *2, а то мышью возить долго. На отрезке нейтраля ручка на отжатии мыши падает в центр. Выше и ниже нейтраля на 0.3 единицы половинного отрезка - на передачу. Можно дотянуть до конца, можно бросить - сама упадет, куда надо. Не знаю, зачем только. "Мертвая зона" 0.3 единицы половинного отрезка (0.15 целого, примерно как и говорил) от узловых и крайних точек. Может и заглючить - там хз. Единица - половина стороны квадрата.
Ну все. Типа выпендрился.
Ну все. Типа выпендрился.
Последний раз редактировалось oldfashion Вт сен 11, 2007 3:29 am, всего редактировалось 1 раз.
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Ну вот, в сером окне нажимаешь мышь и таскаешь по направлениям переключения. N3 - 3-е положение нейтрали, коих всего 4, конкретно с третьего можно переключиться на 3 и 4-ю передачи, остальное сответственно. Плохо работаетв том плане, что есть естественное ограничение отклонения по горизонтали при втыкании передач, если далеко мышь увести - ничего не включится. Конечно можно ограничения убрать, но тогда получится невесть что, передача ведь включается движением "впердёд прямо или назад прямо", а не куда попалоoldfashion писал(а):Ничего не понял. У меня просто серое окно, в котором есть только красная надпись N3.
Прикольно Когда графику прикручу - тогда мой пример понятнее станет.oldfashion писал(а):Вот фигня какая-то. Если что - не пинать. Я в экшнскрипт еще не влезал ни разу. А больше сейчас не на чем.
http://stream.ifolder.ru/3293909
Вот только единственное что, так это передача должна включаться по отпусканию мыши или по наведению...
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
А, ну это дело за графикой. Нужно воткнуть на форму какой-нибудь объект, который привязать по координатам к мыше. И разметку. При визуальном информировании сразу понятно, что и куда двигать )Voland писал(а):Ну вот, в сером окне нажимаешь мышь и таскаешь по направлениям переключения. N3 - 3-е положение нейтрали, коих всего 4, конкретно с третьего можно переключиться на 3 и 4-ю передачи, остальное сответственно. Плохо работаетв том плане, что есть естественное ограничение отклонения по горизонтали при втыкании передач, если далеко мышь увести - ничего не включится. Конечно можно ограничения убрать, но тогда получится невесть что, передача ведь включается движением "впердёд прямо или назад прямо", а не куда попало
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
- oldfashion
- Мега Эксперт
- Сообщения:1027
- Зарегистрирован:Вт июл 31, 2007 1:53 pm
- Откуда:msk
Я там завел отдельную тему, перемещаемся туда )
Ждем новых свежих идей. Может, стоит реализовать вид на рычаг вместо схемы?
Ждем новых свежих идей. Может, стоит реализовать вид на рычаг вместо схемы?
Так будет поддержка TrackIR или нет?
Уважаемые разработчики,
Очень хотелось бы в этой теме увидеть хоть один ваш комментарий - сделана ли поддержка TrackIR в 3Д Инструкторе 2.0 или хотя бы планируется ли такая поддержка в релизе?
Если будет - то обзор будет реализован 6DOF или только по двум осям?
ЗЫ. Давно являюсь счастливым обладателем TrackIR 4 Pro и играю в основном в авиасимуляторы. Преимещественно, в отечественный Ил2 Штурмовик (к слову в этой ветке о том, что поддержки Трекира нет ни в одной отечественной игре - она там есть с 2003 года!), там без Трекира вообще нельзя фактически. А в автосимах Трекир бы тоже ЗНАЧИТЕЛЬНО облегчил бы жисть игрокам.
Очень хотелось бы в этой теме увидеть хоть один ваш комментарий - сделана ли поддержка TrackIR в 3Д Инструкторе 2.0 или хотя бы планируется ли такая поддержка в релизе?
Если будет - то обзор будет реализован 6DOF или только по двум осям?
ЗЫ. Давно являюсь счастливым обладателем TrackIR 4 Pro и играю в основном в авиасимуляторы. Преимещественно, в отечественный Ил2 Штурмовик (к слову в этой ветке о том, что поддержки Трекира нет ни в одной отечественной игре - она там есть с 2003 года!), там без Трекира вообще нельзя фактически. А в автосимах Трекир бы тоже ЗНАЧИТЕЛЬНО облегчил бы жисть игрокам.
Поддерживаю Avva, вопрос актуальный, и если на него нет пока конкретного ответа, то можно так и написать, думаю, что все поймут, т.к. причин может быть масса. Но тогда и надежд питать никто не будет. Лично для меня это основной момент использования игры... Ждем ответа!
..тренируйся - если хочешь быть здоров...
Уже делали )BukTop писал(а):Не забывайте про то что есть безплатный аналог TrackIr - Freetrack. Сделать кепку с 3мя светодиодами - 30 минут. А веб камера есть почти у каждого. Я тоже за скорейшую поддержку trackir, тем более, как я понимаю, это не столь сложная задача
THRUSTMASTER. Rallye GT Force Feedback Pro Clutch Edition
Logitech G25 Racing Wheel
Logitech G25 Racing Wheel