News:

Precision Simulator update 10.180 (14 October 2024) is now available.
Navburo update 13 (23 November 2022) is now available.
NG FMC and More is released.

Main Menu

Layout Resource for PSX & Scenery Generator viewed on the same monitor

Started by cavaricooper, Sat, 11 Mar 2023 19:42

funkyhut

Greetings from the mountains of Northern Thailand (VTCC),
Chris Stanley.

cagarini

Hmmm,

tasty this thread :-)

Any of you with good layouts for 1920 x 1080 ?

I really have to give it a try ;-)

funkyhut

Quote from: cagarini on Sun, 20 Aug 2023 08:11Any of you with good layouts for 1920 x 1080

For what it's worth cagarini, I've been doing the MSFS/PSX thing on a single screen since JP first put out WidePSX. I always ended up using MSFS only for takeoff and landing, with raw PSX in-between. Why? Because mixing then both on my single 3440 X 1440 monitor always made PSX too small to see the important detail.
But with Carl leading the way with a big TV all that has changed. Now I can have PSX almost life size and have MSFS providing a view. Is the view "real"? No. But it's a perfectly acceptable approximation to make the whole thing immersive.
If you look on my YouTube (https://youtube.com/@cjfs1948) there are many examples of single screen layouts that I've tried. The video with the 'surprise' in the title is an example of what I've described above.
Hope this helps.
Greetings from the mountains of Northern Thailand (VTCC),
Chris Stanley.

cagarini

Chris, thank you for the links and hints.

I had your youtube channel already saved in my "Favorites" :-)

One thing I had noticed before is that you're running MFS full screen, which I believe will create less distortion, and then superimpose to it the PSX panel. What are you using to:

- get rid of the window borders;
- allow PSX to stay "on-top" ?


Steve Hose

Hi there,

It is possible to replicate a 'realistic' cockpit view on a single monitor with PSX & MSFS using Gary's WASM application. Below are two images of the same approach into EHAM at 500ft with 3440x1440 monitor resolution.





If you compare the images carefully, you'll see that the MSFS runway size & position exactly matches the PSX runway.

This was achieved by first setting the PSX outside view zoom to 1.0 in the layout file. The corresponding MSFS view is full screen at 0.1 zoom, with the camera pitch at -7.8deg to match the PSX runway vertical position relative to the top & bottom of the PSX windshield.

This setup results in a realistic approach & landing view and compares well to decent videos of real-world approaches in the 744. I also have a couple of other views setup in MSFS that pull back to a wider field of view for taxiing & general scenic flying.

These camera views are mapped to buttons on my controller so I can switch views quickly. MSFS is always full-screen behind the PSX window which is sized in the layout file and the borderless option activated in the PSX pref file. MSFS detects the controller buttons even if it remains in the background.

To replicate, you'll need some familiarity with PSX layout files and MSFS camera.cfg files. Also worth noting that different monitor resolutions may need different settings.

If anyone is interested, I can post a video so you can see it in action.

Regards, Steve.

cagarini

Yes Steve, please do (post that video :-))

Meanwhile...

- those values for the camera, including pitch and zoom, in PSX, are set through the layout CFG or in the "router" interface where I can see also a pitch offset, together with some HDG offset parameter?

- how do you manage to redimension your MFS window appearing above the PSX one? I tried to set it with a lower height, but unless I use an external app The smallest I can set it to in height is more than what it looks like in your screenshots, although I am restricted to 1920 x 1080..


Steve Hose

Hi cagarini,

QuoteYes Steve, please do (post that video :-))

Can do - give me a day or two and I'll post a link

Quote- those values for the camera, including pitch and zoom, in PSX, are set through the layout CFG or in the "router" interface where I can see also a pitch offset, together with some HDG offset parameter?

No, the camera values are set in the MSFS cameras.cfg file. To help obtain the correct MSFS values, I'm using PSX as my realistic example where the zoom for the windshield view is set to 1.0 in the PSX layout .9pack file. Once PSX is set, I then replicate this view within MSFS using the cameras.cfg file. Once you've got the right values in MSFS, you don't need the PSX windshield view, that's just to help set things up in MSFS.

Quote- how do you manage to redimension your MFS window appearing above the PSX one? I tried to set it with a lower height, but unless I use an external app The smallest I can set it to in height is more than what it looks like in your screenshots, although I am restricted to 1920 x 1080..

I don't re-size MSFS at all - it just runs full-screen. It's PSX that is re-sized to fit the lower half of the screen in the foreground (with MSFS in full-screen behind PSX), this is done in the PSX layout .9pack file.

Regards, Steve.

cagarini

Quote from: Steve Hose on Mon, 21 Aug 2023 14:12I don't re-size MSFS at all - it just runs full-screen. It's PSX that is re-sized to fit the lower half of the screen in the foreground (with MSFS in full-screen behind PSX), this is done in the PSX layout .9pack file.


Great! I thought an app like "always on-top" would be required so that when you click somewhere over the MFS window it doesn't "popup" full monitor...

I have to find out how to do it using only the .9pack file...

I believe that using MFS full screen will also avoid some distortion caused by a reduced height.

Jeroen Hoppenbrouwers

Quote from: cagarini on Mon, 21 Aug 2023 14:37Great! I thought an app like "always on-top" would be required so that when you click somewhere over the MFS window it doesn't "popup" full monitor...

You normally don't touch the windshield with your finger, so why would you click on the MSFS window?   :-P

cagarini

Quote from: Jeroen Hoppenbrouwers on Mon, 21 Aug 2023 14:42You normally don't touch the windshield with your finger, so why would you click on the MSFS window?  :-P

;D I was just thinking about that exact answer :-)

Yep, that's surely the simplest way to solve that "problem" :-)

Well, during my first tests I did have to touch it in order to use the mouse to pan around, but I have now created specific T16000 profiles to use with PSX, so, no need to use the mouse over the MFS window !

EDIT: Microsoft PowerToys ( no pun intended ... ) solves it beautifully... Just grab from the Store and use CTRL-WIN-T to force a window On-Top ;-)

Steve Hose

Hi,

I've uploaded a video to demonstrate the MSFS camera view that I've created as described above:

https://youtu.be/YKlk5IPaZMg

The video is recorded in '4K' 60fps so you may need to adjust your quality settings in YouTube.

A slightly late flare & firm landing ;-)

Regards, Steve

Will

Thanks for posting, Steve. I have two questions for you. First, is the size of your MSFS window just what is visible here? Or is your MSFS window closer to full screen, with PSX covering the lower part of it up? If I understand your posts above, the PSX window is covering up much of what MSFS is drawing.

And second, did you set your camera zoom setting using the MSFS in-game controls, or did you do it by editing your camera.cfg file?

Thanks!
Will /Chicago /USA

Steve Hose

Hi Will,

Yes, PSX is covering up the bottom half of the screen with MSFS full-screen behind it.

I set the MSFS camera zoom in the aircraft cameras.cfg file. This way you can set any number of custom camera views and assign these to a controller button within the MSFS UI.

Cheers, Steve.

funkyhut

Steve,
Many thanks for posting your EHAM video.
Would it be possible for you to post your WASM cameras.cfg. I understand this will vary from system to system but I'd like to see where you set zoom to .1 and pitch to -7.8. From that I can begin to understand how to modify that for my setup. I think I'll also be able to see how you have defined several views in your cameras.cfg. I still find MSFS views baffling!
Many Thanks.
Greetings from the mountains of Northern Thailand (VTCC),
Chris Stanley.


funkyhut

Quote from: Jeroen Hoppenbrouwers on Tue, 22 Aug 2023 23:37Maybe this helps:
https://docs.flightsimulator.com/html/Content_Configuration/Cameras/Cameras_CFG/cameras_cfg.htm

Many thanks Hoppie but this actually baffles me more. I've tried YouTube and that too is baffling. If I can see Steve's example and then relate it to your link, I think I can take it from there. I hope at least.
Greetings from the mountains of Northern Thailand (VTCC),
Chris Stanley.

Will

The in-game zoom settings can be changed from 0-100.

In the cameras.cfg file, the setting "InitialZoom" can rage between 0 and 512.

Can anyone comment on the relationship between these two settings? How do the units compare, and how do they affect one another?
Will /Chicago /USA

Steve Hose

Quote from: funkyhut on Tue, 22 Aug 2023 21:32Would it be possible for you to post your WASM cameras.cfg.

Hi Chris, here you go - valid only for a 3440x1440 screen.

Keep in mind the correct pitch angle depends on the height of your PSX window.

To get the right zoom value in MSFS - In PSX native with an active windshield view and zoom set to 1.0 - I measured the width of the PSX runway at each end and adjusted MSFS zoom iteratively to match runway width in MSFS with PSX.

To get the right pitch angle - In PSX native with an active windshield view and zoom set to 1.0 - I measured the distances between the far end of the runway to the top of the PSX windshield and the near end of the runway to the bottom of the PSX windshield. I then applied a pitch angle in MSFS to re-create the same proportions in MSFS with PSX overlaid.

Create a final approach situation in PSX at say 500ft AGL, freeze motion and obtain your values to then re-create in MSFS. A bit tedious but worth it once :)

In my WASM cameras.cfg file:

[CAMERADEFINITION.0] - 'Default' virtual cockpit view with realistic zoom applied

[CAMERADEFINITION.1] - Fixed 'scenic' view with unrealistic but wide-angle zoom applied

[CAMERADEFINITION.2] - Fixed 'look left' wide-angle view

[CAMERADEFINITION.3] - Fixed 'look right' wide-angle view

[CAMERADEFINITION.4] to [CAMERADEFINITION.8] - same as [CAMERADEFINITION.1] (not used)

[CAMERADEFINITION.9] - Fixed realistic landing view - this is the main view I use for approach & landing

And the file itself:

; -*- comment-column: 50; fill-column: 130; tab-width: 4; indent-tabs-mode: nil -*-

[VERSION]
major = 1
minor = 0

[VIEWS]
eyepoint = 0, 0, 18.500                          ; Longitudinal, lateral, vertical distance from reference datum (FT)

[CAMERADEFINITION.0]
Title = "Pilot Goli"                              ; This is descriptive only, not used by the system
Guid = "{6B2245FA-AE67-4637-9C1D-D5EF2C9D5D37}"  ; Camera definition unique identifier. This GUID must be unique.
Description = "Virtual Goli"
Origin = "Virtual Cockpit"                        ; Every camera definition must have an origin that defines the object or
                                                  ; point on which the camera is oriented.

MomentumEffect = 0                                ; Controls whether the camera exhibits momentum effect. This is
                                                  ; determined by the settings in the Dynamic Head Movement section.
SnapPbhAdjust = "Swivel"                          ; These settings control how camera movement is handled when the camera system
                                                  ; receives a view pan or snap-to command.
SnapPbhReturn = 0                                ; If true, camera position returns to its initial position when the snap
                                                  ; movement command key is released.
PanPbhAdjust = "Swivel"                          ; Same range of options as snappbhadjust. Always set to Swivel in KH (what's KH?).
PanPbhReturn = 0                                  ; If true, camera position returns to its initial position when the pan
                                                  ; movement command key is released.
Track = "None"                                    ; External cameras have the ability to track a user or AI object.
                                                  ; The Track parameter controls this behavior.
ShowAxis = "YES"                                  ; Whether the axis indicator is shown.
AllowZoom = 1                                    ; Whether the camera responds to zoom commands.
InitialZoom = 0.1                                ; Initial zoom (0--512)
SmoothZoomTime = 2                                ; Zoom time (S), 0--30.
                                                  ; By default, zooming in and out is smoothed by changing between old and
                                                  ; new zoom levels over a small time period (5 seconds). This setting enables
                                                  ; you to control this effect on a per-camera basis.
ZoomPanScalar = 1                                ; Movement is scaled by dividing the ZoomPanScalar value by the zoom level (0--100)
ShowWeather = 1                                  ; Whether weather visuals are shown
XyzAdjust = 0                                    ; Whether the camera responds to position change commands
ShowLensFlare = 0                                ; Whether lens flare effect can be shown (based on user setting)
Category = "Cockpit"                              ; Every camera definition must include a category that defines how the camera
                                                  ; is exposed in the user interface. Categories define the view cycling
                                                  ; behavior(S and A keys) as well as the menu structure. Some categories
                                                  ; (AirTraffic, Runway, Multiplayer and Tower) can also be instance-based,
                                                  ; meaning new cameras are created automatically based on the object type.
SubCategory = "Pilot"
SubCategoryItem = "DefaultPilot"
PitchPanRate = 20                                ; The rate at which pitch is changed (DEG/S) (0--100)
HeadingPanRate = 60                              ; Rate at which heading is changed (DEG/S) (0--100)

InitialXyz = 0, 0, 0                              ; Camera XYZ position offset from the default location. In metres. Note the order of coordinates,
                                                  ; different from the usual order in these .cfg files... Consistency is over-rated, it seems. (M)

InitialPbh = -6.631, 0, 0                        ; Camera pitch, bank and heading orientation offset from the default (DEG).
                                                  ; Note that positive pitches give a downward view. Positive headings are to
                                                  ; the right. -90--90.0 (pitch), -180--180.0 (bank and heading).
NodesToHide = ""                                  ; Allows to hide one or several node while showing this camera.
                                                  ; This is useful to hide the Yoke in camera instrument, for example.
ClipMode = "0"                                    ; Normal - Minimum - Spot - Tower. (?)
BoundingBoxRadius = 0.1                          ; Radius of the Camera, can be used as a bounding box (M)

[CAMERADEFINITION.1]
Title ="Pilot"
Guid ="{0C64B527-E0EA-4726-9700-DC4CEB0EF1B3}"
Description ="Pilot"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.3
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -16, 0, 0
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0

[CAMERADEFINITION.2]
Title ="Pilot Left"
Guid ="{30316A5C-EBE3-4E3F-B320-582571E3A054}"
Description ="Pilot Left"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.3
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -16, 0, -70
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0

[CAMERADEFINITION.3]
Title ="Pilot Right"
Guid ="{43E6820F-A5B3-4E40-B610-1BA5769C333F}"
Description ="Pilot Right"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.3
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -16, 0, 70
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0

[CAMERADEFINITION.4]
Title ="Pilot"
Guid ="{AA3050EA-D745-4FA7-817F-82E984CFF5FF}"
Description ="Pilot"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.3
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -16, 0, 0
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0

[CAMERADEFINITION.5]
Title ="Pilot"
Guid ="{EE0A4243-B15C-4B93-9A7F-83D9753D24CA}"
Description ="Pilot"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.3
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -16, 0, 0
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0

[CAMERADEFINITION.6]
Title ="Pilot"
Guid ="{DDD0AD8F-B5E6-4F06-9290-7FEE434FC268}"
Description ="Pilot"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.3
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -16, 0, 0
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0

[CAMERADEFINITION.7]
Title ="Pilot"
Guid ="{0B4799C4-8E4B-4748-82F2-985C20F05EDB}"
Description ="Pilot"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.3
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -16, 0, 0
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0

[CAMERADEFINITION.8]
Title ="Pilot"
Guid ="{FE44B36A-8A36-4D9B-914B-F2AFA5249B19}"
Description ="Pilot"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.3
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -16, 0, 0
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0

[CAMERADEFINITION.9]
Title ="Landing Pilot"
Guid ="{DB696903-F7A4-4898-B330-EBBD4CB4B4FE}"
Description ="Pilot"
Origin ="Virtual Cockpit"
MomentumEffect =1
SnapPbhAdjust ="Swivel"
SnapPbhReturn =0
PanPbhAdjust ="Swivel"
PanPbhReturn =0
Track ="None"
ShowAxis ="YES"
AllowZoom =1
InitialZoom =0.1
SmoothZoomTime =2
ZoomPanScalar =1
ShowWeather =1
XyzAdjust =1
ShowLensFlare =0
Category ="Cockpit"
SubCategory ="Instrument"
SubCategoryItem ="None"
PitchPanRate =20
HeadingPanRate =60
InitialXyz = 0, 0, 0
InitialPbh = -7.8, 0, 0
NodesToHide =""
ClipMode ="Normal"
BoundingBoxRadius =0.1
UITitle=""
TargetCategory="None"
CycleHidden=0
CycleHideRadius=0
ShowPanel=0
InstancedBased=0
NoSortTitle=0
Transition=0
PanAcceleratorTime=5
XYZRate=0.25
XYZAcceleratorTime=0


funkyhut

Many thanks Steve. Sharing this will help me, and I suspect others, finally nail down the Holy Grail.
Thanks again!
Greetings from the mountains of Northern Thailand (VTCC),
Chris Stanley.

cagarini