@@ -2415,9 +2415,9 @@ OR supports the following special visual effects in a steam locomotive:
2415
2415
2416
2416
OR supports the following special visual effects in a diesel locomotive:
2417
2417
2418
- - Exhaust (named ``Exhaustnumber ``) -- is a diesel exhaust. Multiple exhausts can
2419
- be defined, simply by adjusting the numerical value of the number after the key
2420
- word exhaust .
2418
+ - Exhaust (named ``Exhaustnumber ``, eg: `` Exhaust2 `` ) -- is a diesel exhaust. Multiple
2419
+ exhausts can be defined, simply by adjusting the numerical value of the number after
2420
+ the key word Exhaust .
2421
2421
2422
2422
OR supports the following special visual effects in a wagon (also the wagon section of
2423
2423
an ENG file):
@@ -2446,16 +2446,16 @@ Each effect is defined by inserting a code block into the ENG/WAG file similar t
2446
2446
the one shown below::
2447
2447
2448
2448
Cylinders11FX (
2449
- -1.0485 1.0 2.8
2450
- -1 0 0
2451
- 0.1
2449
+ Comment ( Required parameters. )
2450
+ ORTSPosition ( -1.0485m 1.0m 2.8m )
2451
+ ORTSInitialVelocity ( -1 0 0 )
2452
+ ORTSParticleDiameter ( 0.1m )
2452
2453
2453
- Comment ( ORTS parameters come after MSTS data! )
2454
+ Comment ( Optional parameters. )
2454
2455
ORTSPositionVariation ( 0m 0m 0m )
2455
- ORTSInitialVelocityVariation ( 0.1 0.1 0.1 )
2456
- ORTSEmissionSpeedLimit ( 150m/s )
2456
+ ORTSInitialVelocityVariation ( 0.1 )
2457
2457
ORTSFinalVelocity ( 0 1m/s 0 )
2458
- ORTSFinalVelocityVariation ( 0.75m/s 0.75m/s 0.75m/s )
2458
+ ORTSFinalVelocityVariation ( 0.75m/s )
2459
2459
2460
2460
ORTSLifespanMultiplier ( 1.0 )
2461
2461
ORTSLifespanVariation ( 0.5 )
@@ -2467,24 +2467,22 @@ the one shown below::
2467
2467
ORTSRotationVariation ( 0.25 )
2468
2468
ORTSWindMultiplier ( 1.0 )
2469
2469
2470
+ ORTSParticleOpacity ( 1.0 )
2470
2471
ORTSPipeArea ( 0.03m^2 )
2471
- ORTSMaxParticles ( 2500 )
2472
2472
ORTSRateMultiplier ( 1.0 )
2473
2473
ORTSUseChaoticRandomization ( false )
2474
-
2474
+
2475
+ Comment ( Advanced optional parameters. )
2476
+ ORTSMaxParticles ( 2500 )
2477
+ ORTSEmissionSpeedLimit ( 150m/s )
2475
2478
ORTSGraphic ( "smokemain.ace" )
2476
2479
ORTSGraphicAtlasLayout ( 4 4 )
2477
2480
)
2478
2481
2479
- The code block consists of the following elements:
2480
-
2481
- - Effect name -- as described above,
2482
- - Effect location on the locomotive (given as an x, y, z offset in metres
2483
- from the origin of the wagon shape)
2484
- - Effect direction of emission (given as a normal x, y and z)
2485
- - Effect nozzle width (in metres)
2486
-
2487
2482
.. index ::
2483
+ single: ORTSPosition
2484
+ single: ORTSInitialVelocity
2485
+ single: ORTSParticleDiameter
2488
2486
single: ORTSPositionVariation
2489
2487
single: ORTSInitialVelocityVariation
2490
2488
single: ORTSEmissionSpeedLimit
@@ -2502,42 +2500,51 @@ The code block consists of the following elements:
2502
2500
single: ORTSMaxParticles
2503
2501
single: ORTSRateMultiplier
2504
2502
single: ORTSUseChaoticRandomization
2503
+ single: ORTSParticleOpacity
2505
2504
single: ORTSGraphic
2506
2505
single: ORTSGraphicAtlasLayout
2507
2506
2508
- After including these settings, additional *optional * parameters unique to OR can
2509
- be included to further customize effect emitters:
2507
+ While there are many parameters available to customize the appearance and behavior of emitted particles, most are set
2508
+ to reasonable values by default and should be considered optional unless further customization is desired. The only
2509
+ *required * parameters are as follows:
2510
+
2511
+ - ``ORTSPosition ( x y z ) `` -- REQUIRED parameter which defines the (+/-) right/left, up/down,
2512
+ forward/backward location of the emitter (in meters by default, other units are accepted)
2513
+ - ``ORTSInitialVelocity ( x y z ) `` -- REQUIRED to define the (+/-) right/left, up/down, forward/backward
2514
+ components of emission direction (no units of measure, the particle speed is multiplied by
2515
+ this vector to determine the 3D velocity of particles. Speed can be divided by inserting values
2516
+ less than 1, or multiplied by inserting values greater than 1.)
2517
+ - And ``ORTSParticleDiameter ( d ) `` -- REQUIRED to set the nozzle width (default units meters, other units accepted),
2518
+ which sets the initial size of each particle
2519
+
2520
+ The *optional * parameters unique to OR are as follows:
2510
2521
2511
2522
- ``ORTSPositionVariation ( x y z ) `` -- Specifies the amplitude of random variation
2512
2523
in the right/left, up/down, and front/back emission location of a particle (default units
2513
2524
are meters). Useful for non-circular exhaust ports, as it allows one particle emitter
2514
2525
to be used to spawn particles from an area, rather than a single point. Note that
2515
- ``ORTSPositionVariation ( x y z ) `` would allow particles to emit 1 meter right and
2526
+ ``ORTSPositionVariation ( 1 0 0 ) `` would allow particles to emit 1 meter right and
2516
2527
1 meter left of the initial position, for a total variation of 2 meters. Similar is
2517
2528
true of all other parameters related to randomness, the total variation is double what's
2518
2529
specified. Feature is disabled by default.
2519
- - ``ORTSInitialVelocityVariation ( x y z ) `` -- Defines the randomization of initial particle
2520
- velocity in the right/left, up/down, and front/back directions, as a function of the
2521
- particle's initial speed (values are unitless). The default value is ( 0.1 0.1 0.1 ),
2522
- meaning the speed in each direction can be increased or decreased by 10% of the initial
2523
- particle speed. Larger values make the particle exhaust seem less directed and more diffuse.
2524
- - ``ORTSEmissionSpeedLimit ( v ) `` -- Some particle emitters are driven by the simulated flow
2525
- rate of exhaust, which has to make some assumptions about the pressure and volume of exhaust.
2526
- This can lead to unrealistically high speed particles being emitted, so a speed limit can be
2527
- set (default units are meters per second) to keep particle speed reasonable. This is not a hard
2528
- limit, it is gradually enforced as the simulation calculates higher and higher exhaust speed.
2529
- The limit is also applied before considering the emitter velocity factor, so actual exhaust speed
2530
- will vary depending on other settings.
2531
- By default, the limit is 150 meters per second, which will be suitable in most cases.
2530
+ - ``ORTSInitialVelocityVariation ( i ) `` -- Defines the randomization of initial particle
2531
+ velocity in all directions, multiplied by the particle's initial speed (no units of measure).
2532
+ The default value is ( 0.1 ), meaning the speed in each direction can be increased or
2533
+ decreased by 10% of the initial particle speed. Larger values make the particle exhaust seem
2534
+ less directed and more diffuse. Alternately, 3 values can be provided in the format
2535
+ ``ORTSInitialVelocityVariation ( x y z ) `` to specify the initial velocity variation in each
2536
+ individual direction.
2532
2537
- ``ORTSFinalVelocity ( x y z ) `` -- Determines the final right/left, up/down, and front/back
2533
2538
velocity of particles after they have settled (default units of meters per second). The default
2534
2539
is 1 m/s directly upward, and can be changed to fine tune the appearance of the particle trail
2535
2540
produced. Note that wind velocity is added to this value afterward.
2536
- - ``ORTSFinalVelocityVariation ( x y z ) `` -- Unlike initial velocity variation, final velocity
2541
+ - ``ORTSFinalVelocityVariation ( f ) `` -- Unlike initial velocity variation, final velocity
2537
2542
variation determines the amplitude of random variation of final velocity in absolute terms
2538
2543
(default units of meters per second). The default setting is +/- 0.75 m/s in all directions, but
2539
2544
changing this can adjust the amount of and shape of particle trail spread. Larger variations
2540
- make for exhaust that seems more chaotic and diffuse.
2545
+ make for exhaust that seems more chaotic and diffuse. Similar to initial velocity variation,
2546
+ ``ORTSFinalVelocityVariation ( x y z ) `` can be used to specify the variation in each direction
2547
+ individually.
2541
2548
- ``ORTSLifespanMultiplier ( x ) `` -- Multiplies the lifetime of particles emitted from this
2542
2549
emitter by the given (unitless) value. Particle lifetime varies depending on simulation
2543
2550
data, but if particles seem to last too long a value less than 1 can be entered here, or a
@@ -2579,20 +2586,16 @@ be included to further customize effect emitters:
2579
2586
A value of 1 is used by default, such that the wind speed used by the simulation is used directly.
2580
2587
This can be adjusted to prevent particles that shouldn't be influenced by the wind (eg: cylinder
2581
2588
cocks close to ground level) from flying off in whatever direction the wind is going.
2589
+ - ``ORTSParticleOpacity ( o ) `` -- Controls how transparent emitted particles are by multiplying
2590
+ texture opacity by the given value (unitless number between 0 and 1). The default setting is 1,
2591
+ which doesn't change particle appearance at all. Lower values make particles more transparent,
2592
+ until 0 would make all particles invisible.
2582
2593
- ``ORTSPipeArea ( a ) `` -- Niche parameter to adjust the area of the exhaust pipe used by
2583
2594
the simulation (default units square feet). By default, the area is assumed to be a circle with
2584
2595
the same diameter as the exhaust particles. However, for non-circular exhausts this can be combined
2585
2596
with ORTSPositionVariation to give more believable results. Larger areas result in lower exhaust
2586
2597
speed without changing the number of particles emitted per second, which also allows this to
2587
2598
be used as a speed multiplier, though ORTSinitialVelocity is preferred for that purpose.
2588
- - ``ORTSMaxParticles ( n ) `` -- Override for the maximum number of particles this emitter should
2589
- have in the world simultaneously (unitless integer). The default value is 2500 particles, which works
2590
- in many cases but may not be appropriate in some unusual circumstances. The limit can be reduced
2591
- on less extreme particle emitters to reduce memory use, or can be increased for more extreme emitters
2592
- to prevent particles disappearing and/or the reduction in particle emission rate caused by reaching
2593
- the particle limit. Do NOT increase the limit if particles are already overlapping; it is often
2594
- better to simply reduce the number of particles emitted using ORTSRateMultiplier and/or other
2595
- parameters listed here.
2596
2599
- ``ORTSRateMultiplier ( x ) `` -- Multiplies the number of particles emitted per second by the given
2597
2600
value (unitless). Values less than 1 reduce the rate of particle emission, while values greater than
2598
2601
1 increase the rate of particle emission. The particle rate is determined by the simulation, but may
@@ -2602,11 +2605,33 @@ be included to further customize effect emitters:
2602
2605
- ``ORTSUseChaoticRandomization ( 0/1 ) `` -- Changes the randomization algorithm used for positions,
2603
2606
velocities, durations, and so on to be "chaotic" if given a true or 1 value. Default is false or 0,
2604
2607
giving "smooth" randomization. With the "chaotic" randomization algorithm, the random changes in
2605
- position/ velocity/time are entirely random and do not depend on the random values generated for the
2608
+ velocity/momentum /time are entirely random and do not depend on the random values generated for the
2606
2609
previous particle, resulting in sudden dramatic changes. In comparison, the default "smooth"
2607
2610
randomziation algorithm changes the random values by a small amount for each iteration. The "chaotic"
2608
2611
algorithm tends to make exhaust that is more spread out and discontinuous, which may be desireable in
2609
2612
some cases.
2613
+
2614
+ The following *advanced * parameters have unusual effects that do not directly influence the motion of
2615
+ particles and may only be useful in very specific circumstances. Caution should be taken when using any
2616
+ of these to ensure the parameter is used correctly, as improper settings can produce displeasing results
2617
+ and poor framerates:
2618
+
2619
+ - ``ORTSMaxParticles ( n ) `` -- Override for the maximum number of particles this emitter should
2620
+ have in the world simultaneously (unitless integer). The default value is 2500 particles, which works
2621
+ in many cases but may not be appropriate in some unusual circumstances. The limit can be reduced
2622
+ on less extreme particle emitters to reduce memory use, or can be increased for more extreme emitters
2623
+ to prevent particles disappearing and/or the reduction in particle emission rate caused by reaching
2624
+ the particle limit. Do NOT increase the limit if particles are already overlapping; it is often
2625
+ better to simply reduce the number of particles emitted using ORTSRateMultiplier and/or other
2626
+ parameters listed here.
2627
+ - ``ORTSEmissionSpeedLimit ( v ) `` -- Some particle emitters are driven by the simulated flow
2628
+ rate of exhaust, which has to make some assumptions about the pressure and volume of exhaust.
2629
+ This can lead to unrealistically high speed particles being emitted, so a speed limit can be
2630
+ set (default units are meters per second) to keep particle speed reasonable. This is not a hard
2631
+ limit, it is gradually enforced as the simulation calculates higher and higher exhaust speed.
2632
+ The limit is also applied before considering the emitter velocity factor, so actual exhaust speed
2633
+ will vary depending on other settings.
2634
+ By default, the limit is 150 meters per second, which will be suitable in most cases.
2610
2635
- ``ORTSGraphic ( "tex" ) `` -- Gives the name and path to the texture that should be used to render
2611
2636
particles from this emitter. The default texture is "smokemain.ace" for steam-type emitters and
2612
2637
"dieselsmoke.ace" for diesel-type emitters. If the texture cannot be found from the engine's/wagon's
@@ -2624,29 +2649,31 @@ be included to further customize effect emitters:
2624
2649
rendered as a square. Rectangular textures will be stretched/squished. Do not change the atlas setting unless you
2625
2650
are certain of the texture used, as improper settings will be very aesthetically unpleasing.
2626
2651
2627
-
2628
- .. index ::
2629
- single: ORTSPosition
2630
- single: ORTSInitialVelocity
2631
- single: ORTSParticleDiameter
2632
2652
2633
- Alternatively, the legacy MSTS data can be skipped entirely and replaced with
2634
- equivalent OR specific parameters. In this case, order of data entry does not
2635
- matter:
2653
+ Note that legacy special effects from MSTS and prior versions of OR use different syntax, simply listing
2654
+ a series of numbers rather than using named parameters. The order and arrangement of these values is
2655
+ critical, and is interpreted in this order:
2656
+
2657
+ - Effect location on the locomotive (given as 3 values forming an x, y, z offset in metres
2658
+ from the origin of the wagon shape)
2659
+ - Effect direction of emission (given as 3 values giving a normal x, y and z)
2660
+ - Effect nozzle width (a single number given in metres)
2661
+
2662
+ To make special effect settings easier to understand, it is recommended to use ``ORTSPosition ``, ``ORTSInitialVelocity ``,
2663
+ and ``ORTSParticleDiameter `` to provide these same values. However, if it is desired to continue using the legacy data,
2664
+ all ORTS parameters must be entered *after * the legacy numbers, like so::
2636
2665
2637
2666
FXName (
2638
- ORTSPosition ( -1.0485m 1.0m 2.8m )
2639
- ORTSInitialVelocity ( -1 0 0 )
2640
- ORTSParticleDiameter ( 0.1m )
2641
- Comment ( Insert other ORTS parameters as desired, but skip MSTS data! )
2642
- )
2667
+ -1.0485 1.0 2.8
2668
+ -1 0 0
2669
+ 0.1
2670
+
2671
+ Comment ( ORTS parameters come after MSTS data! )
2643
2672
2644
- - ``ORTSPosition ( x y z ) `` -- defines the width, height, length location of the emitter (in meters by default)
2645
- - ``ORTSInitialVelocity ( x y z ) `` -- defines the (+/-) right/left, up/down, forward/backward components of emission direction
2646
- (unitless, the particle speed is multiplied by this vector to determine the 3D velocity of particles.
2647
- Speed can be divided by inserting values less than 1, or multiplied by inserting values greater than 1.)
2648
- - And ``ORTSParticleDiameter ( d ) `` -- gives the nozzle width (in meters by default), which sets the initial
2649
- size of each particle
2673
+ ORTSInitialVelocityVariation ( 0.25 )
2674
+ ORTSFinalVelocityVariation ( 1.0m/s )
2675
+ ...etc...
2676
+ )
2650
2677
2651
2678
Auxiliary Water Tenders
2652
2679
'''''''''''''''''''''''
0 commit comments