====== PinUP PopperVR Customize ====== This page is for people who want to get the most out of their PopperVR setup by customizing their own rooms and launcher. The best resource is following the great tutorials made by Scampa on youtube here: [[https://youtube.com/playlist?list=PL3PApg7GH5m1AhJjGRfh5Htgogh-vkaFJ|https://youtube.com/playlist?list=PL3PApg7GH5m1AhJjGRfh5Htgogh-vkaFJ]] ===== Working with POPPERVR ===== The suggested method would be to run Popper, and go to operater menu and select custom scripts/Toggle VR to run or close PopperVR.EXE. (If you always want to run it you could put it on Popper global settings startup/close scripts). Advanced Mode: Having things like posters/instuctions on walls…other pupdisplay media.\\ pupdisplays are panels that get media/(mp4 or png only) via Popper websockets/webremote. See webremote setup on wiki. if using 'pupdisplays' you need to set useWEB=true in pinup popper scripts and active=1 in PopperVR config file. when in PopperVR Room you can use your handcontrolers to move around and/or teleport. Pressing the Secondary button on right-controller will bringup/toggle the PopperVR Menu. Pressing the right-trigger will select things in the VR ROOM/Menu. You can teleport by using the right-controller/grip-finger button. ===== PopperVRSettings.json ===== here's TWO things PopperVR does. One is MIRROR an entire windows monitor/display to a 3d panel, the other is grab/play pupdisplays (mp4s/pngs) from Popper WebRemote. Simple mode is just to mirror your Windows Desktops into the PopperVR Room.\\ Once that is working, you can jump to next-level where you setup Popper WEBRemote/Server and use media from your Popper DB in realtime. \\ So, simple step one is run via the OPerator Menu in Popper. Startup Popper and go to Operator menu and toggle/StartVR custom script.\\ if you have screen issues you will need to modify PopperVRSettings.json in PopperVR folder with texteditor if needed. by default, positions are grabbed with Popper running. Keep displays either 0=off, 2=mirror monitor. The important items to change are: the windows monitorNumber# (starts at 0, this is random with windows so you may have to change the #'s trial and error) Note -1 means to grab the monitor the POPPERX display is on.\\ invertX,Y if needed. Once you see the screens in VR you will see if these are needed. 1/0 are values. don't use any PUPDISPLAYS active=1 for now keep active=2 for mirroring displays… pupdisplays can be advanced setup later. **fine-tune your HOME position infront of cab.** in json settings theres a CAMERAPOS [x,y,z] that you can set that will change your home-position. Y you can +/- for height, z is to move closer/farther from cab. in meters. so [0,0.3,-0.2] is 30 cm in Y and 20cm away from cab.. The defaut MODELROOM must be set. ModelCab is optional and will be covered later. (allows you to make a ROOM without a cab and allow people to use their own CABmodels only inside of VRROOMS). ModelROOM must be GLB file format. And you can do anything with it, POPPERVR will scan for panels named exactly:\\ POPPER0 for topper, POPPER1 for DMD, POPPER3 for playfield…you get the idea (same pupid# as popper). You may have to rotate the panel in your 3d model. if you find the rotation within PopperVR it is not properly rotated. The reason for two files….ideally you make/have a CAB model that is what you want. And then you can change or provide people with different environment/rooms…have vegas, have XMAS holiday room….etc. While keeping your CAB model to your exact specs. To keep things simple you can just work/create ROOM models for now… How to add functionality in the ROOM and POPPERVR. There's a simple idea I did to make/design your own arcade rooms and flexibiltiy with ease to do stuffs in VR. On Loading ROOM or CAB model. Pop-VR will scan the names of any/all 3d objects and assign functions to them so user can interact with them. Like make a screen on a mamecab launch a donkey-kong rom game… or a sign that will move user to a 1970s pinball themed room… Suggest using blender to make glb files as that is what is tested with currently. no animated support (yet) embedded in glb (although i beleive simple animations may work…needs testing) scale is always 1 unit= 1meter so must keep that in mind if sharing your files. ===== Lighting ===== special: lights cannot be imported via GLB. BUT, what i did is allow lights to be added via the 'name' of the light object in blender. for example\\ you add a light in blender, and the name determines what it does in pVR. it will take the position and angle of the light object but nothing else.\\ If you see the defaultroom gltf you can see how lights are done for an example: \\ **POPLIGHT_TYPE_COLOR_INTENSITY_1_** (intenstiy /100) must start with name "POPLIGHT" TYPE=spot,dir,point,area\\ COLOR=hex value\\ intensity=100-9999? it is divide by 100 so 100 is 1.0 intensity in unity. example:\\ **POPLIGHT_POINT_FFFFFF_500_1_** \\ is a point light (white) and intensity 5.0 … the _1 is added because blender likes to add .001 to multiple named items so need _1 to avoid touching intensity. Other functions in framework to allow for flexiblity of rooms. POPRUNLOCAL That allows you to run games like MAME and stay in VRROOM during play. example: **POPRUNLOCAL_asteroid.zip_asteroid_yflip_** 1st value is ROMNAME.ZIP and must be in POPPER game manager ROM field on the game. 2nd value is Window partial title match. Must be set and able to find 3rd/4th value optional. yflip or xflip if the mirroring of mame window needs to be flipped to display in vrroom. **POPGOTOPOS_xpos_ypos_zpos_** **POPGOTOPOS_xpos_ypos_zpos_xrot_yrot_zrot_** This will move the player into the room position xpos,ypos,zpos are floats and required. the xrot,yrot,zrot are optional and might help in default rotation of player. **POPGOTOROOM_vegas_** This will allow you to have like a sign/panel that when selected will move player to another entire room.glb. The room must be located in models subfolder and called in this example: models/vegas.glb **POPLAUNCH_VRELVIS_** This function will allow a 3dobject to auto launch a game in popper. The 1st parameter is the item it will search for in the TAGS property on a game in game manager. So in this example, you would go to your Elvis VR game in Popper and add/set VRElvis in the TAG field. **POPPLAYMP4_harry.mp4_** **POPPLAYMP4_harry.mp4_noauto_noloop** Allows to play external mp4s . You can add noauto or noloop as options. default is to autoplay and loop. User can select the media to pause/play at any time. Media files should be in same folder location of the ROOM.glb. **Manual switch VRRooms.** in PopperVR menu you can also see there's a dropdown list to switch rooms manually. The dropdown list is auto populated with all GLB files located in the subfolder of PopperVR/Models. …and switch to it.