asxasdfghjkl / SimhubFlightSimulatorPlugin

1 stars 0 forks source link

How to map to motion? #1

Open lttlrck opened 1 day ago

lttlrck commented 1 day ago

This is awesome. I got RPM driven rumble easily enough but how to link the acceleration X/Y/Z to the motion plug-in? Another custom effect exporting to a specific property name perhaps?

lttlrck commented 1 day ago

Maybe the plugin needs to export:

FlightPlugin.FlightData.ACCELERATION_BODY_X
FlightPlugin.FlightData.ACCELERATION_BODY_Y
FlightPlugin.FlightData.ACCELERATION_BODY_Z

also as:

DataCorePlugin.GameData.OrientationYawAcceleration
DataCorePlugin.GameData.OrientationRollAcceleration
DataCorePlugin.GameData.OrientationPitchAcceleration

(not 100% sure of the X/Y/Z mapping) or maybe

DataCorePlugin.GameData.AccelerationHeave
DataCorePlugin.GameData.AccelerationSurge
DataCorePlugin.GameData.AccelerationSway
asxasdfghjkl commented 14 hours ago

Maybe the plugin needs to export:

FlightPlugin.FlightData.ACCELERATION_BODY_X
FlightPlugin.FlightData.ACCELERATION_BODY_Y
FlightPlugin.FlightData.ACCELERATION_BODY_Z

also as:

DataCorePlugin.GameData.OrientationYawAcceleration
DataCorePlugin.GameData.OrientationRollAcceleration
DataCorePlugin.GameData.OrientationPitchAcceleration

(not 100% sure of the X/Y/Z mapping) or maybe

DataCorePlugin.GameData.AccelerationHeave
DataCorePlugin.GameData.AccelerationSurge
DataCorePlugin.GameData.AccelerationSway

Hi, Since DataCorePlugin is from simhub. Even tho you can export prop under another plugin's scope name I am not sure what will happen when 2 plugins are trying to access the same prop. Since I don't have motion plugin license. If you want to try you can simly create a new empty class called DataCorePlugin. And have the code below

this.PluginManager.AttachDelegate("GameData.OrientationPitchAcceleration", typeof(DataCorePlugin), () => 'the value you want');
lttlrck commented 9 hours ago

Yeah I was wondering the same earlier today.

I had a no success building yesterday; NuGet was complaining about a lot of packages. I haven't done used Visual Studio for years. I'll have another go later, if I can get it going I'll definitely try some modifications.

asxasdfghjkl commented 8 hours ago

If you are having problem running the project make sure the platform config is "Any CPU" for Plugin project and "x64" for simconnect server. nuget dependencies should be restore automatically by Visual studio. I use VS 2022 btw.

lttlrck commented 4 hours ago

nuget URL was missing. It's building fine now.

I added the class and additional properties but motion is idle. I suspect simhub is looking for additional properties to detect whether it should activate or not I tried several but no luck, no errors either. Or perhaps this just doesn't work and motion bypasses the public properties. Hopefully I'll get a hint from SimHub discord.

Worst case: I have been using Axis -> Telemetry in SimHub to fake motion direct from my joystick. So I could feed the 3 axis to vJoy (there is a C# SDK to do this) and then map that virtual joystick to Telemetry in SimHub :-) that's horrible but it would work.