Template Overview
Using the Arcware Pixel Streaming Template Project
Navigation System Overview
The navigation system operates on both mobile and desktop platforms with three modes: Orbit, Fly, and Walk.
Orbit Mode
Desktop: Right-click and drag to rotate, Middle click and drag to pan, Double right-click to change focus, Mouse scroll to zoom.
Mobile: One finger drag to rotate, Double tap to change focus, Pinch to zoom, Three-finger drag to pan.
Fly Mode
Desktop: Use W/A/S/D to move, Left-click to rotate, Q/E for vertical movement, Middle click and drag to pan.
Mobile: Touch for movement, Drag to rotate.
Walk Mode
Desktop: Use W/A/S/D to move, Left-click or mouse move to rotate, Spacebar to jump.
Mobile: Touch for movement, Drag for rotation. Extra actions like jumping might be automated.
Developers can use this framework to ensure a consistent user experience across devices, with room for adjustments based on user feedback.
Project Context: Created with an 'Automotive/Product Design/Manufacturing' template without starter content.
Download link: https://www.fab.com/listings/9b0edb51-5b11-42f0-b281-94e896a4801d
Plugins Enabled
- Default Unreal Engine plugins (based on a blank 'Automotive/Product...' template project) - Pixel Streaming plugin

Project Settings Enabled
- Use fixed frame rate = True - Fixed frame rate = 30 fps

- Ray Lighting Mode (UE5) = Hit Lighting for Reflections - High Quality Translucency Reflections (UE5) = True

- Default Viewport Mouse Capture Mode = Capture Permanently Including Initial Mouse Down - Set 'Default Viewport Mouse Lock Mode = Do Not Lock (this value Is overwritten if using the 'BP_Arcware_HUD_Visible_Mouse')

- Default GameMode = BP_Arcware_GameMode

- Enable Gesture Recognizer = True (needed for Pinch to zoom to work. Although this is currently not relevant as 'Pinch' gesture doesnt work on IOS devices)

- Default RHI = DirectX 12 (12 is recommended)

Player Input
- 'Actions' Folder = (All input key bindings needed for camera movement) - 'Arcware_InputMappingContext' = (Input mapping used for EnhancedInput system)

Console Commands Enabled
- PixelStreaming.WebRTC.DisableResolutionChange 0 (only relevant for UE4.27) - r.setres 1920x1080w (for setting the resolution if dynamic resloution option is disabled)

Arcware Specific Assets in the Project
- BP_Arcware_GameMode ( this GameMode contains the reference to BP_Arcware_Pawn and BP_Arcware_Player_Controller ) - BP_Arcware_Pawn ( this Pawn is used for controlling the player camera. All of the settings you will need related to camera movement speed/zooming/panning etc, are editable in the Pawn actor's detail panel, meaning you can tweak the camera movement style without needing to open the blueprint ) - BP_Arcware_Player_Controller ( this Player Controller contains blueprint nodes for handling the Pixel Streaming events/responses. This is where you can send/receive json messages from the Web browser to trigger events in Unreal Engine ) - BP_Arcware_HUD_Hidden_Mouse ( this HUD should be used when your pixel stream has UI provided via the web-browser. In this scenario, you don't need to click any UI in the game so you don't need to show the in-game mouse cursor ) - BP_Arcware_HUD_Visible_Mouse ( this HUD should be used when your pixel stream has in-game UI. In this scenario, the user needs to interact with the in-game UI so the in-game mouse cursor must be visible. When this HUD is used it provides an example of in-game UI, which shows the most useful functionality for the in-game mouse, such as, only showing the mouse cursor when the menu is open )

Last updated