Call of Duty bo3: FX Collisions
NOTE: This tutorial is currently NOT usable as the _outdoor techset will not work in game
Setting up the Particle Effect
The material on your particle needs to be of an "outdoor" variety. That is, it's one of these:
- effect_cloud_lit_blend_nocull_outdoor - a particle cloud material that only renders in areas the engine thinks is "outdoor". This material does not glow.
- effect_cloud_lit_emissive_blend_nocull_outdoor - a particle cloud material that only renders in areas the engine thinks is "outdoor". This material does glow.
- effect_lit_blend_outdoor - a billboard sprite material that only renders in areas the engine thinks is "outdoor". This material does not glow.
- effect_lit_emissive_blend_outdoor - a billboard sprite material that only renders in areas the engine thinks is "outdoor". This material does glow.
If your effect is placed in the map, then select each effect entity with the "Outdoor Only" material in it and in Entity Info check "outdoor". Effects that are played via script won't need this (also, it's impossible to do this to an entity that doesn't exist in Radiant).
Of the above, I would recommend using effect_cloud_lit_blend_nocull_outdoor to start. If you haven't used particle cloud materials before, the idea is that each "particle" is a model with up to 2048 vertices. At each of those vertices is an instanced sprite.We suffix "outdoor only" materials with "_oo" and particle cloud materials have "pcloud" in the name.
Setting up a particle cloud
- In FX Properties > Visuals, change General > Type to particle cloud.
- In FX Properties > Generation, change Particle Spawning > Cloud Count to the number of cloud particles you want per spawned particle.
- In FX Properties > Movement, adjust Size > Scale to a much larger number. If you're doing weather, try 1000 or 2000. The Guassian checkbox below will redistribute the particles in the cloud so they're more or less in the shape of a sphere. You won't need this for weather effects, though, since the standard distribution is preferred.
- In FX Properties > Movement, adjust Rotation - Geometry/Beams > Angle to change the initial angle (in degrees) of the particle cloud model and adjust Angle Delta to add a bit of spin. Use low numbers for the Angle Delta since large particle clouds with a lot of spin on them just look silly.
- You can enable FX Properties > Movement > Physics > Particle to get a constant Angle Delta spin if that's necessary (it doesn't make sense, I know). Otherwise, the spin has a built-in inertia. Do not kill particle on impact. The whole particle cloud will blink out and it'll look bad.
Defining map areas as Outside Only
- Create a volume_outdoor entity and drag the edges so it just encompasses all of the interior spaces of your map. I think you can use more than one of these, but to keep things simple, just use one until you get it working.
- In the volume_outdoor entity you just created, in Entity Info, check all the enabled checkboxes.
- Don't change filterRadius yet, but keep it in mind if the outdoor culling doesn't work. These may need to be nonzero numbers.
- The pitch and yaw properties will change the angle of the raycast that determines which areas are inside. By default, this raycast goes straight down. We have this here for windy rain or snow. As you adjust these (in degrees), you'll see an arrow around the entity re-orient. That shows you the direction of the raycast.
- If there are any glass roofs or other areas that are getting incorrectly marked as an outdoor area, use "caulk_outdoor_occluder".
Re-export the LED. You may or may not have to re-BSP the map. Link the level and run.