import { Object3D } from "@wonderlandengine/api"; import { PhysicsLayerFlags } from "../../../../cauldron/physics/physics_layer_flags.js"; import { CharacterColliderSetup } from "./character_collider_setup.js"; export declare enum CharacterColliderSetupSimplifiedCreationAccuracyLevel { VERY_LOW = 0, LOW = 1, MEDIUM = 2, HIGH = 3, VERY_HIGH = 4 } export declare class CharacterColliderSetupSimplifiedCreationParams { myHeight: number; myRadius: number; myFeetRadius: number | null; myAccuracyLevel: CharacterColliderSetupSimplifiedCreationAccuracyLevel; myIsPlayer: boolean; /** * If you enable this, you might also want to disable {@link myCheckCeilings}, * since it doesn't make much sense to check for ceilings when not checking the height */ myCheckOnlyFeet: boolean; /** * If you enable this, you might also want to disable {@link myCheckOnlyFeet}, * since it doesn't make much sense to check for ceilings without also checking the height */ myCheckCeilings: boolean; myMaxMovementSteps: number | null; myShouldSlideAlongWall: boolean; myCollectGroundInfo: boolean; myMaxDistanceToSnapOnGround: number; myMaxDistanceToPopOutGround: number; myMaxWalkableGroundAngle: number; myMaxWalkableGroundStepHeight: number; /** * Normally, the ground params are used for the ceiling too, but this needs to be a different setting, * since allowing walkable steps on ceiling might create issues with view occlusion for the player (especially with a high value) * since you can go more under some low ceiling making the occlusion head collide with it * * Settings it to zero is safer, but means that the ceilings physx must be more flat, because it's easier that a small ceiling bump now blocks you */ myMaxWalkableCeilingStepHeight: number; myShouldNotFallFromEdges: boolean; myHorizontalCheckBlockLayerFlags: PhysicsLayerFlags; myHorizontalCheckObjectsToIgnore: Object3D[]; myVerticalCheckBlockLayerFlags: PhysicsLayerFlags; myVerticalCheckObjectsToIgnore: Object3D[]; myHorizontalCheckDebugEnabled: boolean; myVerticalCheckDebugEnabled: boolean; } export declare function createSimplified(simplifiedCreationParams: Readonly, outCharacterColliderSetup?: CharacterColliderSetup): CharacterColliderSetup; export declare function createTeleportColliderSetupFromMovementColliderSetup(movementColliderSetup: Readonly, outTeleportColliderSetup?: CharacterColliderSetup): CharacterColliderSetup; export declare const CharacterColliderSetupUtils: { readonly createSimplified: typeof createSimplified; readonly createTeleportColliderSetupFromMovementColliderSetup: typeof createTeleportColliderSetupFromMovementColliderSetup; };