Sets cone half-angle in degrees (0-180, default 45 degrees, only affects cone type fields).
Takes handle (force field handle from b3dCreateForceField), degrees (cone half-angle in degrees, angle from forward axis to cone edge).
Returns nothing.
3D Graphics
Parameters & Returns
Parameters
handleInt
degreesDouble
Returns
Void
Quick Summary
Sets cone half-angle in degrees (0-180, default 45 degrees, only affects cone type fields).
Takes handle (force field handle from b3dCreateForceField), degrees (cone half-angle in degrees, angle from forward axis to cone edge).
Returns nothing.
Technical Exegesis...
Sets cone half-angle in degrees (0-180, default 45 degrees, only affects cone type fields). Takes handle (force field handle from b3dCreateForceField), degrees (cone half-angle in degrees, angle from forward axis to cone edge). Returns nothing. Sets ff.coneAngle clamped to 0-180, defines cone width for next physics update. Use to widen or narrow cone force fields, adjust directional force spread.
This function sets cone width.
Sets cone half-angle in degrees (0-180, default 45 degrees, only affects cone type fields). Takes handle (force field handle from b3dCreateForceField), degrees (cone half-angle in degrees, angle from forward axis to cone edge). Returns nothing. Sets ff.coneAngle clamped to 0-180, defines cone width for next physics update. Use to widen or narrow cone force fields, adjust directional force spread.
This function sets cone width. Cone angle meaning: half-angle from forward axis (cone extends this angle from center axis, full cone angle is 2x degrees), 0 degrees = narrow beam (infinitely thin ray, no spread), 45 degrees = default cone (total 90 degrees cone, moderate spread), 90 degrees = hemisphere (half-sphere forward, very wide), 180 degrees = full sphere (affects everywhere, omnidirectional). Use cases: (1) Narrow beams (small angle for focused directional force), (2) Wide fans (large angle for broad area of effect), (3) Dynamic cone (adjust angle based on gameplay or activation), (4) Pulsing cone (oscillate angle for varying width), (5) Gradual activation (grow angle from 0 degrees to target over time). Common patterns: narrow beam b3dSetForceFieldConeAngle(field, 10), moderate cone b3dSetForceFieldConeAngle(field, 45), wide fan b3dSetForceFieldConeAngle(field, 75), hemisphere b3dSetForceFieldConeAngle(field, 90). Typical usage: set once for desired spread (configure cone width at creation), adjust dynamically for effects (growing or pulsing cone width).
Cone half-angle: angle measured from forward axis (0 degrees = along axis, 90 degrees = perpendicular to axis), defines cone boundary (characters within angle affected, outside angle unaffected), symmetric around forward axis (conical volume, circular cross-section). Angle 0 degrees: infinitely narrow beam (zero width, ray along forward axis only), no characters affected (practically zero volume), use 1-5 degrees for narrow beam. Angle 45 degrees: default moderate cone (total 90 degrees full cone angle), balanced spread (not too narrow, not too wide), typical for wind tunnels or beams. Angle 90 degrees: hemisphere (half-sphere forward of origin), very wide spread (affects 180 degrees field of view forward), nearly omnidirectional forward. Angle 180 degrees: full sphere (affects all directions equally), same as sphere field (cone becomes omnidirectional), maximum spread possible. Narrow beam example: focused force beam (b3dSetForceFieldConeAngle(beamField, 5) very narrow), precise directional force (affects small area directly ahead), laser-like effect (tight beam of force). Wide fan example: broad area effect (b3dSetForceFieldConeAngle(fanField, 80) wide spread), affects large forward area (many characters in cone), fan blade or wind gust effect. Growing cone: animate angle over time (angle = startAngle + time * growthRate, starts narrow grows wide), update cone width (b3dSetForceFieldConeAngle(growingCone, angle)), expanding activation (cone starts tight, spreads to full width). Pulsing cone: oscillate angle (angle = baseAngle + amplitude * sin(time * frequency), varies around base), update cone width (b3dSetForceFieldConeAngle(pulsingCone, angle)), breathing effect (cone widens and narrows rhythmically). Parameter clamping: angle < 0 degrees clamped to 0 degrees (negative becomes zero, prevents undefined behavior), angle > 180 degrees clamped to 180 degrees (above 180 becomes max, full sphere limit), valid range 0-180 degrees (ensures physical cone shape). Sphere field behavior: cone angle ignored for sphere fields (shapeType 0 unaffected, radial in all directions), can still call function (no error, silently ignored for sphere), only cone fields use angle (shapeType 1 directional). Angle vs scale: angle defines angular spread (how wide cone is in degrees), scale defines distance extent (how far cone reaches), independent properties (wide narrow cone, long short cone, combine both for shape). Angle persistence: angle change immediate (takes effect next physics update), angle remains until changed again (persistent, doesn't reset), cone at new angle until explicitly changed or deleted. Performance: O(1) operation (simple float assignment with clamping). Validation: silently returns if handle not found, clamps angle to 0-180 degrees. Related: b3dCreateForceField creates cone field (default 45 degrees cone angle at creation), b3dRotateForceField orients cone (sets forward direction, complementary to angle), b3dScaleForceField resizes cone (changes distance reach, complementary to angle), b3dPositionForceField moves cone (changes origin, complementary to angle).