Console/Physics

From Blue Mars Developer Guidebook

Jump to: navigation, search
There are security restrictions on this article

Contents

Physics Console Variables

Console variables that control physics parameters start with "p_".


variable: p_accuracy_LCPCG 
type: float
current: 0.005
help: Desired accuracy of LCP CG solver (velocity-related, m/s)

variable: p_accuracy_LCPCG_no_improvement 
type: float
current: 0.05
help: Required LCP CG accuracy that allows to stop if there was no improvement after p_max_LCPCG_fruitless_iters

variable: p_accuracy_MC 
type: float
current: 0.005
help: Desired accuracy of microcontact solver (velocity-related, m/s)

variable: p_approx_caps_len 
type: float
current: 1.2
help: Breakable trees are approximated with capsules of this length (0 disables approximation)



variable: p_damping_group_size 
type: int
current: 8
help: Sets contacting objects group size
before group damping is used.Usage: p_damping_group_size 3
Used for internal tweaking only.

Character IK

variable: p_characterik 
type: int
current: 1
help: Toggles character IK.
Usage: p_characterik [0/1]
Default is 1 (on). Set to 0 to disable inverse kinematics.

Debug


variable: p_cull_distance 
type: float
current: 100
help: Culling distance for physics helpers rendering

variable: p_break_on_validation 
type: int
current: 0
help: Toggles break on validation error.
Usage: p_break_on_validation [0/1]
Default is 0 (off). Issues DebugBreak() call in case of
a physics parameter validation error.

variable: p_debug_explosions 
type: int
current: 0
help: Turns on explosions debug mode

variable: p_debug_joints 
type: int
current: 0
help: If set, breakable objects will log tensions at the weakest spots

variable: p_do_step 
type: int
current: 0
help: Steps physics system forward when in single step mode.
Usage: p_do_step 1
Default is 0 (off). Each 'p_do_step 1' instruction allows
the physics system to advance a single step.

variable: p_draw_helpers 
type: string
current: 0
help: Same as p_draw_helpers_num, but encoded in letters
Usage [Entity_Types]_[Helper_Types] - [t|s|r|R|l|i|g|a|y|e]_[g|c|b|l|t(#)]
Entity Types:
t - show terrain
s - show static entities
r - show sleeping rigid bodies
R - show active rigid bodies
l - show living entities
i - show independent entities
g - show triggers
a - show areas
y - show rays in RayWorldIntersection
e - show explosion occlusion maps
Helper Types
g - show geometry
c - show contact points
b - show bounding boxes
l - show tetrahedra lattices for breakable objects
j - show structural joints (will force translucency on the main geometry)
t(#) - show bounding volume trees up to the level #
f(#) - only show geometries with this bit flag set (multiple f's stack)
Example: p_draw_helpers larRis_g - show geometry for static, sleeping, active, independent entities and areas

variable: p_draw_helpers_num 
type: int
current: 0
help: Toggles display of various physical helpers. The value is a bitmask:
bit 0  - show contact points
bit 1  - show physical geometry
bit 8  - show helpers for static objects
bit 9  - show helpers for sleeping physicalized objects (rigid bodies, ragdolls)
bit 10 - show helpers for active physicalized objects
bit 11 - show helpers for players
bit 12 - show helpers for independent entities (alive physical skeletons,particles,ropes)
bits 16-31 - level of bounding volume trees to display (if 0, it just shows geometry)
Examples: show static objects - 258, show active rigid bodies - 1026, show players - 2050

variable: p_wireframe_distance 
type: float
current: 5
help: Maximum distance at which wireframe is drawn on physics helpers

variable: p_ray_fadein 
type: float
current: 0.2
help: Fade-in time for ray physics helpers

variable: p_ray_peak_time 
type: float
current: 0
help: Rays that take longer then this (in ms) will use different color

variable: p_single_step_mode 
type: int
current: 0
help: Toggles physics system 'single step' mode.Usage: p_single_step_mode [0/1]
Default is 0 (off). Set to 1 to switch physics system (except
players) to single step mode. Each step must be explicitly
requested with a 'p_do_step' instruction

variable: p_fly_mode 
type: int
current: 0
help: Toggles fly mode.
Usage: p_fly_mode [0/1]

variable: p_list_active_objects 
type: int
current: 0
help: 

variable: p_log_lattice_tension 
type: int
current: 0
help: If set, breakable objects will log tensions at the weakest spots

Solver


variable: p_enable_triangle_cache 
type: int
current: 0
help: Enables triangle caching for heightfields

variable: p_fixed_timestep 
type: float
current: 0
help: Toggles fixed time step mode.Usage: p_fixed_timestep [0/1]
Forces fixed time step when set to 1. When set to 0, the
time step is variable, based on the frame rate.

variable: p_GEB_max_cells 
type: int
current: 800
help: Specifies the cell number threshold after which GetEntitiesInBox issues a warning

variable: p_group_damping 
type: float
current: 0.5
help: Toggles damping for object groups.
Usage: p_group_damping [0/1]
Default is 1 (on). Used for internal tweaking only.

variable: p_lattice_max_iters 
type: int
current: 100000
help: Limits the number of iterations of lattice tension solver

variable: p_limit_simple_solver_energy 
type: int
current: 1
help: Specifies whether the energy added by the simple solver is limited (0 or 1)

variable: p_max_approx_caps 
type: int
current: 7
help: Maximum number of capsule approximation levels for breakable trees

variable: p_max_contact_gap 
type: float
current: 0.01
help: Sets the gap, enforced whenever possible, between
contacting physical objects.Usage: p_max_contact_gap 0.01
This variable is used for internal tweaking only.

variable: p_max_contact_gap_player 
type: float
current: 0.01
help: Sets the safe contact gap for player collisions with
the physical environment.Usage: p_max_contact_gap_player 0.01
This variable is used for internal tweaking only.

variable: p_max_contact_gap_simple 
type: float
current: 0.03
help: Specifies the maximum contact gap for objects that use the simple solver

variable: p_max_contacts 
type: int
current: 150
help: Maximum contact number, after which contact reduction mode is activated

variable: p_max_debris_mass 
type: float
current: 10
help: Broken pieces with mass<=this limit use debris collision settings

variable: p_max_entity_cells 
type: int
current: 300000
help: Limits the number of entity grid cells an entity can occupy

variable: p_max_LCPCG_contacts 
type: int
current: 100
help: Maximum number of contacts that LCPCG solver is allowed to handle

variable: p_max_LCPCG_fruitless_iters 
type: int
current: 4
help: Maximum number of LCP CG iterations w/o improvement (defined by p_min_LCPCGimprovement)

variable: p_max_LCPCG_iters 
type: int
current: 5
help: Maximum number of LCP CG iterations

variable: p_max_LCPCG_microiters 
type: int
current: 12000
help: Limits the total number of per-contact iterations during one LCP CG iteration
(number of microiters = number of subiters * number of contacts)

variable: p_max_LCPCG_microiters_final 
type: int
current: 25000
help: Same as p_max_LCPCG_microiters, but for the final LCP CG iteration

variable: p_max_LCPCG_subiters 
type: int
current: 120
help: Limits the number of LCP CG solver inner iterations (should be of the order of the number of contacts)

variable: p_max_LCPCG_subiters_final 
type: int
current: 250
help: Limits the number of LCP CG solver inner iterations during the final iteration (should be of the order of the number of contacts)

variable: p_max_MC_iters 
type: int
current: 6000
help: Specifies the maximum number of microcontact solver iterations

variable: p_max_MC_mass_ratio 
type: float
current: 100
help: Maximum mass ratio between objects in an island that MC solver is considered safe to handle

variable: p_max_MC_vel 
type: float
current: 15
help: Maximum object velocity in an island that MC solver is considered safe to handle

variable: p_max_plane_contacts 
type: int
current: 8
help: Maximum number of contacts lying in one plane between two rigid bodies
(the system tries to remove the least important contacts to get to this value)

variable: p_max_plane_contacts_distress 
type: int
current: 4
help: Same as p_max_plane_contacts, but is effective if total number of contacts is above p_max_contacts

variable: p_max_substeps 
type: int
current: 5
help: Limits the number of substeps allowed in variable time step mode.
Usage: p_max_substeps 5
Objects that are not allowed to perform time steps
beyond some value make several substeps.

variable: p_max_substeps_large_group 
type: int
current: 5
help: Limits the number of substeps large groups of objects can make

variable: p_max_world_step 
type: float
current: 0.2
help: Specifies the maximum step physical world can make (larger steps will be truncated)

variable: p_min_LCPCG_improvement 
type: float
current: 0.05
help: Defines a required residual squared length improvement, in fractions of 1

Velocity


variable: p_max_unproj_vel 
type: float
current: 2.5
help: Limits the maximum unprojection velocity request

variable: p_max_velocity 
type: float
current: 100
help: Clamps physicalized objects' velocities to this value

variable: p_max_player_velocity 
type: float
current: 150
help: Clamps players' velocities to this value

Collision

p_min_bounce_speed
Minimum speed for bounce to occur
p_max_bounce_impulse
Any bounce impulses exceeding this will be discarded


variable: p_min_separation_speed 
type: float
current: 0.02
help: Used a threshold in some places (namely, to determine when a particle
goes to rest, and a sliding condition in microcontact solver)

variable: p_prohibit_unprojection 
type: int
current: 0
help: Prohibit Unprojection and velocity penalties upon Unprojection

variable: p_skip_redundant_colldet 
type: int
current: 1
help: Specifies whether to skip furher collision checks between two convex objects using the simple solver
when they have enough contacts between them

Gravity

p_gravity_z
gravity (m/s2)


Misc


variable: p_num_bodies_large_group 
type: int
current: 100
help: Group size to be used with p_max_substeps_large_group, in bodies

variable: p_penalty_scale 
type: float
current: 0.3
help: Scales the penalty impulse for objects that use the simple solver

variable: p_players_can_break 
type: int
current: 0
help: Whether living entities are allowed to break static objects with breakable joints

Profiler


variable: p_profile_entities 
type: int
current: 0
help: Enables per-entity time step profiling

variable: p_profile_functions 
type: int
current: 0
help: Enables detailed profiling of physical environment-sampling functions

variable: p_jump_to_profile_ent 
type: int
current: 0
help: Move the local player next to the corresponding entity in the p_profile_entities list

variable: p_sleep_speed_multiple 
type: float
current: 1
help: Multiplier applied to rigid body sleep threshold

Splash

variable: p_max_object_splashes 
type: int
current: 3
help: Specifies how many splash events one entity is allowed to generate

variable: p_splash_dist0 
type: float
current: 7
help: Range start for splash event distance culling

variable: p_splash_dist1 
type: float
current: 30
help: Range end for splash event distance culling

variable: p_splash_force0 
type: float
current: 10
help: Minimum water hit force to generate splash events at p_splash_dist0

variable: p_splash_force1 
type: float
current: 100
help: Minimum water hit force to generate splash events at p_splash_dist1

variable: p_splash_vel0 
type: float
current: 4.5
help: Minimum water hit velocity to generate splash events at p_splash_dist0

variable: p_splash_vel1 
type: float
current: 10
help: Minimum water hit velocity to generate splash events at p_splash_dist1

Time

variable: p_time_granularity 
type: float
current: 0.0001
help: Sets physical time step granularity.
Usage: p_time_granularity [0..0.1]
Used for internal tweaking only.

variable: p_tick_breakable 
type: float
current: 0.1
help: Sets the breakable objects structure update interval



variable: p_unproj_vel_scale 
type: float
current: 10
help: Requested unprojection velocity is set equal to penetration depth multiplied by this number

variable: p_use_distance_contacts 
type: int
current: 0
help: Allows to use distance-based contacts (is forced off in multiplayer)

variable: p_use_unproj_vel 
type: int
current: 0
help: internal solver tweak


Problems with this wiki page? Contact us either by: Support Email or Support Ticket System

Blue Mars Guidebook Privacy Policy
Blue Mars Guidebook Community Guidelines

Personal tools