//User-defined preferences for HTC Vive GPU Particles //Created by Lachlan Sleight (/u/mptp) on a long weekend //Check out http://www.omnipudding.com if you like this! //--------------------------------------------------------// //INSTRUCTIONS: //Make a copy of this file before you change anything so you can go back to it later! //Touch nothing but the numbers to the right of the ':' sign //Each variable has a comment above it explaining what it does, and what the allowed range is //Enjoy, and be kind to one another :) //SUGGESTIONS: //Playing with dampening has a dramatic effect on the 'feel' of the system. Lower values are much more chaotic. //Setting dispersion distance to zero makes things pretty crazy. //Making min charge and max charge different will make the system more cloud like. //PERFORMANCE CONSIDERATIONS //Three things cost performance: cube count, anti aliasing and min/max size. //Large cubes cost a lot to render - keep your cubes small if you want lots of them //On my GTX970, I can render around 300,000 tiny cubes with no AA. //--------------------------------------------------------// //Cube Count: how many cubes there are. //Allowed range: 1 to 1000000 (one million) cubeCount: 100000 //Render Style: How to render the points //Note: points are about half as demanding as lines. Lines are about 25% as demanding as cubes //Allowed values: points | lines | cubes renderStyle: cubes //Default - renderStyle: lines //Anti Aliasing: How smooth hard edges are (specifically this is Unity's MXAA) //WARNING: This will also kill performance. //Allowed values: 1, 2, 4 or 8 antiAliasing: 1 //Default - antiAliasing: 2 //Controller Force: how much force the vive controllers push out / pull in. //Allowed range: 0 to 200 controllerForce: 50 //Dispersion Distance: when cubes are less than this distance (in meters) from a controller, that controller's force will be multiplied by Dispersion Factor //Allowed range: 0 to 1 dispersionDistance: 0.005 //Dispersion Factor: when cubes are less than dispersionDistance (in meters) from a controller, that controller's force will be multiplied by Dispersion Factor //Allowed range: -1 to 1 dispersionFactor: 0 //Dampening: How much of a cube's velocity is lost over time. Lower is more chaotic. //Allowed range: 0 to 0.01 dampening: 0.004 //Max Velocity: Cubes moving faster than this will have their velocity limited to this value (meters per second) //Allowed range: 0 to 10 maxVelocity: 5 //Min Charge: Cubes are spawned with charge values between MinCharge and MaxCharge. Higher charge means it's more effected by the controller forces! //Allowed range: 0 to 10 minCharge: 1 //Max Charge: Cubes are spawned with charge values between MinCharge and MaxCharge. Higher charge means it's more effected by the controller forces! //Allowed range: 0 to 10 maxCharge: 1 //Shadow Strength: How dark the shadows on each cube are. At 1, the shadows on each cube is black. At 0, shadows are turned off //Allowed range: 0 to 1 shadowStrength: 0.5 //Min Brightness: When cubes are unlit by the controllers, this is how dark they are. A value of 0 is invisible, a value of 1 is 'always fully bright' //Allowed range: 0 to 1 minBrightness: 0.7 //Light Radius: How far away (in meters) cubes have to be from the controllers to be unlit by them. //Allowed range: 0.1 to 5 lightRadius: 2 //Min Size: The smallest size cubes can be (in meters) - they are this size when they are closest to either controller or the HMD position //Allowed range: 0 to 0.1 minSize: 0.001 //Max Size: The largest size cubes can be (in meters) - they are this size when they are maxSizeDistance meters away from either controller or the HMD position //Allowed range: 0 to 0.1 maxSize: 0.102 //Default - maxSize: 0.002 //Max Size Distance: How far a cube has to be away from either controller or the HMD for it to be MaxSize //Allowed range: 0.1 to 5 maxSizeDistance: 3 //Default - maxSizeDistance: 1