|
|
|
Переместить камеру в ЛА2 |
|
|
BlackMetal |
23.1.2014, 10:39
|
Neophyte
Сообщений: 32
Регистрация: 13.7.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.797
|
Цитата set #w 75 kright_down #w, 260 :main move #w, 260 set #w #w + 1 goto main
Мне как то нужно сделать скрипт, который бы плавно линейно двигал камеру в л2. Но почему то не срабатывает. Курсор движется, правая кнопка вроде так же зажимается.. но камера почему то все таки не движется, сталкивался кто?
|
|
|
|
BlackMetal |
23.1.2014, 14:57
|
Neophyte
Сообщений: 32
Регистрация: 13.7.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.797
|
Цитата(DarkMaster @ 23.1.2014, 13:55) Открываем настройки, смотрим галки: перемещать курсор в точку клика возвращать курсор использовать kleft v.2.17 Экспеременируем с галками. Первые две лучше вырубить, последнюю в обоих вариантах пробовать.
А левая кнопка мыши срабатывает? Какие-то действия вообще проходят мышью?
Да как бы да все работает все клавиши посылает, от пилота защиты никакой там нет. Но проблема видать в другом какая то механика перемещения не та, правая кнопка мыши поидее давится, курсор пропадает (т.е когда мы жмем правую кнопку мыши в ла2, курсор во время вращения камеры пропадает курсор) но вот когда мышь передвигается средствами пилота, камера в ла2 почему то сама не вращается.. видать само передвижение мыши посылается как бы не в окно ла2 что ли. Вообщем не получается. Может знает кто софт для программирования перемещения мыши? Т.е мне нужно создать плавное перемещение мыши для съемок фрагментов мувика.
|
|
|
|
BlackMetal |
19.10.2014, 8:13
|
Neophyte
Сообщений: 32
Регистрация: 13.7.2011 Группа: Пользователи Наличность: 0
Пользователь №: 13.797
|
Цитата(DarkMaster @ 19.10.2014, 7:44) В пределах окна все нормально работает? Окно все время находится на переднем плане и активно?
если окно l2 не активно, курсор нормально программно перемещается. если сделать окно l2 активным, то 2 варианта либо сразу застопорится или курсор доедет до края окна л2 и застопорится. Я даже попробовал состряпать сам программу на C# простенькую.. точно так же ведет себя. Может там геймгвард или еще что то как то встроенно.. но на вид без бубнов все запускается. по доте2 все движется. Вообще есть какие нибудь девайсы с помощью которых можно управлять курсором очень плавно? Мне это нужно чтоб снимать кадры из ИГР для мувиков, т.е по сути мне нужен "СТЕДИКАМ" но программный. Есть идеи что можно использовать для моей цели?
|
|
|
|
DarkMaster |
19.10.2014, 9:09
|
Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27723
Пользователь №: 11.279
|
Мое предположение, как работает это дело в л2. 1) Л2 постоянно считывает координаты мыши. 2) При изменении координат мыши происходит перемещение камеры. 3) Л2 слушает устройство мыши и ждет, когда придет событие перемещения. Событие пришедшее с устройства, это не совсем тоже самое, что и события пришедшее через WinApi. 4) Когда приходит событие с устройства - отключается привязка камеры к координатам указателя, курсор возвращается на прежнюю позицию. 5) Привязка к указателю снова включается.
Таким образом у нас получается камера жестко привязана к изменению координат мыши, а возврат мыши в центральное положение происходит только при поступлении события от устройства. Самый банальный способ обойти это - искуственно перемещать мышь обратно, отжимая при этом вращение камеры.
Можно так же попробовать эмуляции мыши (k)left|right_up. Игры частенько их воспринимают, как перемещение мыши. Возможно что-то при этом изменится.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Mangust_ali |
29.3.2016, 11:25
|
Registred
Сообщений: 3
Регистрация: 14.1.2013 Группа: Пользователи Наличность: 0
Пользователь №: 15.670
Возраст: 24
|
Здравствуйте. Интересная тема - плавное перемещение мыши. И еще интересней, что ответа в интернете насчет этого + uopilot я не нашел. Знаю про галочку "перемещать курсор мыши в точку клика", но было лень проверять, да и вряд ли она меня устроила бы. В общем - выкладываю мою заготовку для плавного перемещения мыши. В моем случае она сделана с кликами, но, думаю, вы справитесь с очисткой от ненужного, да и большинству, наверняка, удобно сразу кликать. Код //#LCXBIAS/LCYBIAS - это отклонение, которое вы можете допустить - каждый раз точность может быть разная. То есть, следует считать #LCX #LCY
самыми верхними левыми координатами воображаемого прямоугольника, внутри которого можно рандомно тыкнуть. //#STEPS - кол-во шагов движения. Чем дальше конечная точка - тем можно больше( примерно 60). Чем ближе следующая точка - меньше(около 30) //Примеры вызова
//call LСlick 100, 100, 3, 10, 300, 50 //call LСlick 600, 600, 3, 10, 300, 60 //call LСlick 0, 0, 150, 10, 300, 60 //call LСlick 200, 100, 150, 10, 300, 30
proc LClick #LCX #LCY #LCXBIAS #LCYBIAS #WAITAFTERMOVE #STEPS
//рандомизируем конечные координаты - чтобы не тыкать каждый раз в одну точку set #LCX #LCX + random (#LCXBIAS) set #LCY #LCY + random (#LCYBIAS)
get mouse_pos #xnow #ynow
set #xincrement ((#LCX - #xnow) / #STEPS) set #yincrement ((#LCY - #ynow) / #STEPS)
:increment if (#xnow < #LCX and #xincrement > 0) or (#xnow > #LCX and #xincrement < 0 and #xnow > 0) set #xnow #xnow + #xincrement + random(3) - random(3) //немножно двигаем мышь не по прямой end_if if (#ynow < #LCY and #yincrement > 0) or (#ynow > #LCY and #yincrement < 0 and #ynow > 0) set #ynow #ynow + #yincrement + random(3) - random(3) end_if move #xnow #ynow // log xnow #xnow ynow #ynow LCX #LCX LCY #LCY xincrement #xincrement yinrcement #yincrement if (#xnow < #LCX and #xincrement > 0) or (#xnow > #LCX and #xincrement < 0 and #xnow > 0) goto increment end_if if (#ynow < #LCY and #yincrement > 0) or (#ynow > #LCY and #yincrement < 0 and #ynow > 0) goto increment end_if
move #LCX, #LCY // перемещаем курсор до конца. ведь мы делили на шаг грубо wait #WAITAFTERMOVE + random (10) // задержка left_down #LCX, #LCY // зажатие кнопки wait 2 + random (1) // задержка left_up #LCX, #LCY // отпускание кнопки wait #WAITAFTERMOVE + random (10) // задержка end_proc // конец процедуры клика левой кнопкой
Надеюсь, кому то поможет. Как мне очень сильно помогал uopilot в моей жизни.
|
|
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|