PicaSim allows you to configure a very large number of settings within the application. These are divided into different blocks (options, aeroplane, scenery etc), which can be loaded and saved independently. By default, only the most commonly used and understandable settings are exposed, but you can access much more (including the save button) by clicking "Advanced". The settings are divided into:
- Options. These settings reflect your personal preferences, and you might want to adjust them according to your device. For example, you might increase/decrease the graphical terrain level of detail (LOD) depending on whether you're running on a high or low end device. Alternatively you might prefer different camera zoom settings etc.
- Aeroplane. These settings make adjustments to the aeroplane. The actual aeroplane definition is fixed, and needs to be created separately, but here you can choose the aeroplane, adjust ballast properties, and adjust the camera/launch settings associated with it.
- Scenery. These settings modify the physical scenery - the terrain and wind (since typically you want the wind strength/direction to be associated with the flying site). The type of terrain (ridge, file, random etc) can't be changed, but PicaSim comes with at least one terrain of each type, so you can tweak it. There are a few properties, such as the textures, that need to be modified by editing the data files directly.
- Lighting. These settings let you adjust the light (sun) direction etc.
- Controller. These settings let you adjust the virtual controller - the mapping between the virtual inputs (touch/mouse, accelerometer, keyboard etc) and the control channels (throttle, elevator etc). You can also apply trims and exponential etc here.
- Joystick (Windows only). These settings let you map an external joystick/gamepad/Transmitter etc onto the supported virtual inputs.
If you modify any of these settings - for example if you prefer to fly a particular plane with ballast and have it associated with your own controller setup, you can enable the "Advanced" settings, and then save it.
The settings all get saved when you exit PicaSim, and/or just after you start flying. This means that next time you start PicaSim you can continue with the same settings by choosing the "Use default/previous" button in Free-Fly.
Settings that have been saved, as mentioned above, get stored in a directory under one of the following locations (which I'll call the $UserDir directory):
- Android: On the memory card - /sdcard/Android/data/com.rowlhouse.picasim for the free version, and /sdcard/Android/data/com.rowlhouse.picasimdonate for the paid/full version. I use ES File Explorer to access this.
- iOS: In the documents area. In PicaSim version 1.0.0 there is no way to access this location. However, in version 1.1.0 I use i-FunBox, as iTunes doesn't allow you to access sub directories.
- Windows: The location depends on the version of Windows and your permissions. Check the following locations (look for a directory called "UserData":
C:\Program Files (x86)\PicaSim
C:\Users\PicaPica\AppData\Local\VirtualStore\Program Files (x86)\PicaSim or similar - obviously substitute your username!
Once you've run PicaSim once, you'll find two files (as well as placeholder directories):
- $UserDir/trace.txt - This contains some info about what's going on as PicaSim runs - if you get a crash it might be useful to send me this!
- $UserDir/usersettings/settings.xml - This contains the complete set of settings (combining options, aeroplane, scenery etc settings all into one file) last used. If you somehow get PicaSim into a state where it won't start, you can just delete this file to revert to "factory" settings.
The two directories under $UserDir contain slightly different types of data:
- UserSettings contains settings that can (or could in theory) be modified from inside PicaSim - for example a controller mapping scheme, or the wind parameters associated with a scenery, or aeroplane settings (amount of ballast, which aeroplane it is, etc).
- UserData contains data files that could not be modified - e.g. an aeroplane definition, images for the panoramas etc.
Creating your own planes
The best way to create a plane is to start with a copy of an existing plane - perhaps one that is similar. You might want to tweak the aerodynamic properties, or perhaps you want to create your own graphical model for it. Rather than modifying the original plane (which you could do in the Windows version), it is best to make a copy of it into the UserData and UserSettings directories, and then modify it there. PicaSim will then present it in the selection screens at the bottom, below the built in planes. If you do this under Windows, where it is easiest to set up a plane, then you can subsequently transfer the files to an Android/iOS (using the tools above), or indeed share them.
The steps for doing this are (making a Middle Phase, based on the Phase 6, for example):
- Install the windows version, so you have access to the builtin data. We'll call the installation directory $InstallDir
- Copy and rename $InstallDir/SystemSettings/Aeroplane/Phase6.xml to $UserDir/UserSettings/Aeroplane/MiddlePhase.xml. Note that this file determins how the plane will appear in the PicaSim settings screens.
- Open MiddlePhase.xml in a text editor (I use Notepad++). For now just change the mName value so that it points to "UserData/Aeroplanes/MiddlePhase". Once you've got everything working, you can come back and adjust the other properties.
- Copy and rename $InstallDir/SystemData/Aeroplanes/Phase6 to $UserDir/UserData/Aeroplanes/MiddlePhase. Note that this contains the aeroplane definition (physics, graphics, audio etc).
- In the MiddlePhase directory note that there is a .ac file. You can edit this in AC3D.
- Edit the Aeroplane.xml file. The first thing to do is to modify the model3DS value near the bottom to point to your new model (assuming you changed it). Then you can modify the aerodynamic/physical properties. Note that the Phase6 uses aerofoils that are shared amongst a few models, but you can create a specialised aerofoil definition and place it in the MiddlePhase directory. For example, copy $InstallDir/SystemData/Aerofoils/StandardSemiSymmetric.xml into $UserDir/UserData/Aeroplane/MiddlePhase/Wing.xml, edit it, and then refer to it from the relevant places in Aeroplane.xml.
Without going into the details, here are a few tips that I have found useful. This assumes you are creating a plane under Windows (it's probably possible under Android/iOS, just probably rather awkward!):
- First, create a 3D model. If you can export in metres, that is perfect. I find my models get exported in inches, but you can use modelScale in Aeroplane.xml to convert.
- Create or copy an aeroplane, as above. Delete most of the wing etc components, and make it load the 3D model.
- Start PicaSim, select Free-Fly using your new plane at the cliff (i.e. a 3D environment)
- Hopefully it will run and render your plane. Make sure the scaling is correct.
- In Settings->Options (Advanced), set "Aeroplane render" to "Both", and go back out to the flight display.
- Now you should be able to see the plane components - just a few wing/tail parts etc.
- Modify Aeroplane.xml in a text editor to place wing/tail components in the correct place - a rought guess at first. Just do one component at a time (and then manually mirror them - I should automate that!). Don't worry about the masses yet. Note that "wing" components have their position at the centre of one end.
- Note that the coordinates are: x is forwards. y is left. z is up.
- Compare the rendered components with the 3D model, make adjustments in the text editor, and then force PicaSim to reload the model. The easiest way to do that is to quickly adjust the ballast position (even though there's no ballast!).
- Enable the Walkabout mode to view the plane from different directions (once you've made more progress, you can obviously fly it into a better position too).
- When the positions are all correct, set the masses. If you don't know the masses of the parts, make guesses...
- Now try to fly the model! Adjust the extra mass in the nose (using a non-colliding box, normally) until it is trimmed.
- Now add up all the masses, and scale them all so that it matches the real specification you're aiming for.
- Tweak and tweak!
I guarantee you'll learn lots about how a plane's aerodynamics work if you do this!