Всем привет! Хотелось бы задать вопрос. В игре есть настройка инверсия мыши. И в игре она работает по оси Y (сверху вниз)! При включении инверсии ведешь мышку от себя, камера опускается в низ и наоборот. А мне надо по оси X. Когда ведешь мышку в лево а в игре поворот идет направо и наоборот. Для чего мне это нужно? Причина одна - хотелось сыграть в сталкер на стандартных локациях под другим углом (отзеркаленным). Так как локации в сталкере уже изучены и приелись на 100% и интереса в них уже нет. И интерес к игре угасает. Да оружие будет с левой стороны, да текст будет нечитаемым, но для меня это не проблема, так как прошел все уже не один раз! Есть программа reshade-shaders для Зова Припяти и с ее помощью можно ставить новую цветовою гамму и новые эффекты, а так же с ее помощью можно отзеркалить изображение.
void PostProcessVS(in uint id : SV_VertexID, out float4 position : SV_Position, out float2 texcoord : TEXCOORD)
{
texcoord.x = (id == 2) ? 2.0 : 0.0;
texcoord.y = (id == 1) ? 2.0 : 0.0;
position = float4(texcoord * float2(2.0, -2.0) + float2(-1.0, 1.0), 0.0, 1.0);
}
void PS_Mirror(in float4 position : SV_Position, in float2 texcoord : TEXCOORD, out float4 o : SV_Target0)
{
o = tex2D(BackBuffer, float2(1 - texcoord.x, texcoord.y));
}
Сам файл написан не мной, а взят из другого источника. Где конкретно уже не вспомню, так как облазил кучу форумов.
Но из-за инверсии изображения при движение мышки в лево поворот в игре идет в право! И вот тут как раз мне и нужно инверсия мышки по оси X (слева направо). А не так как это есть в игре по оси Y (верх низ). И вопрос следующий возможно ли как-то сделать инверсию мышки в игре по оси X чтобы управлять игрой под инверсированным изображением было корректным. Сторонние программы не помогают. Пробовал AutoHotkey (в самой игре работает не корректно!)
Спойлер
BlockInput Mouse
SetMouseDelay -1
MouseGetPos y, oldy
SetTimer WatchMouse, 1
Return
WatchMouse:
MouseGetPos x, y
MouseMove 0, 2*(oldy-y), 0, R
MouseGetPos y, oldy
Return
!z::ExitApp
Также пробовал программу MouseInverter на рабочем столе работает а в самой игре нет!
Есть также в игре есть консольная команда (mouse_invert 'on/off' или '1/0') которая вкл. инверсию по оси Y и можно ли где-то изменить ее строки чтобы включалось инверсия не оси Y а оси X. Или написать скрипт для игры которым можно включить инверсию по оси X. В этом я сам ничего не понимаю и вот интересуюсь у более опытных и знающих людей
Инверсия мыши по оси X (слева направо)
в Скрипты, конфиги, логика, движок
Опубликовано · Изменено пользователем jonson1408
Всем привет! Хотелось бы задать вопрос. В игре есть настройка инверсия мыши. И в игре она работает по оси Y (сверху вниз)! При включении инверсии ведешь мышку от себя, камера опускается в низ и наоборот. А мне надо по оси X. Когда ведешь мышку в лево а в игре поворот идет направо и наоборот. Для чего мне это нужно? Причина одна - хотелось сыграть в сталкер на стандартных локациях под другим углом (отзеркаленным). Так как локации в сталкере уже изучены и приелись на 100% и интереса в них уже нет. И интерес к игре угасает. Да оружие будет с левой стороны, да текст будет нечитаемым, но для меня это не проблема, так как прошел все уже не один раз! Есть программа reshade-shaders для Зова Припяти и с ее помощью можно ставить новую цветовою гамму и новые эффекты, а так же с ее помощью можно отзеркалить изображение.
texture BackBufferTex : COLOR;
sampler BackBuffer { Texture = BackBufferTex; };
void PostProcessVS(in uint id : SV_VertexID, out float4 position : SV_Position, out float2 texcoord : TEXCOORD)
{
texcoord.x = (id == 2) ? 2.0 : 0.0;
texcoord.y = (id == 1) ? 2.0 : 0.0;
position = float4(texcoord * float2(2.0, -2.0) + float2(-1.0, 1.0), 0.0, 1.0);
}
void PS_Mirror(in float4 position : SV_Position, in float2 texcoord : TEXCOORD, out float4 o : SV_Target0)
{
o = tex2D(BackBuffer, float2(1 - texcoord.x, texcoord.y));
}
technique MirrorScreen
{
pass
{
VertexShader = PostProcessVS;
PixelShader = PS_Mirror;
}
}
Сам файл написан не мной, а взят из другого источника. Где конкретно уже не вспомню, так как облазил кучу форумов.
Но из-за инверсии изображения при движение мышки в лево поворот в игре идет в право! И вот тут как раз мне и нужно инверсия мышки по оси X (слева направо). А не так как это есть в игре по оси Y (верх низ). И вопрос следующий возможно ли как-то сделать инверсию мышки в игре по оси X чтобы управлять игрой под инверсированным изображением было корректным. Сторонние программы не помогают.
Пробовал AutoHotkey (в самой игре работает не корректно!)
BlockInput Mouse
SetMouseDelay -1
MouseGetPos y, oldy
SetTimer WatchMouse, 1
Return
WatchMouse:
MouseGetPos x, y
MouseMove 0, 2*(oldy-y), 0, R
MouseGetPos y, oldy
Return
!z::ExitApp
Также пробовал программу MouseInverter на рабочем столе работает а в самой игре нет!
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="MouseInverter.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
</configSections>
<userSettings>
<MouseInverter.Properties.Settings>
<setting name="InvertX" serializeAs="String">
<value>False</value>
</setting>
<setting name="InvertY" serializeAs="String">
<value>False</value>
</setting>
</MouseInverter.Properties.Settings>
</userSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
Есть также в игре есть консольная команда (mouse_invert 'on/off' или '1/0') которая вкл. инверсию по оси Y и можно ли где-то изменить ее строки чтобы включалось инверсия не оси Y а оси X. Или написать скрипт для игры которым можно включить инверсию по оси X. В этом я сам ничего не понимаю и вот интересуюсь у более опытных и знающих людей
пример как это выглядит
https://www.youtube.com/watch?v=Z7WzTfAHCUA