载入中...
搜索中...
未找到
VehiclePhysics.cpp
浏览该文件的文档.
61 [[nodiscard]] bool isAttached() const { return resolve2D() != nullptr || resolve3D() != nullptr; }
97 mo->heading = normalizeDeg(mo->heading + in->steer * def->turnRate * (0.35f + 0.65f * speedFactor) * dt);
119 mo->heading = normalizeDeg(mo->heading + in->steer * def->turnRate * (0.35f + 0.65f * speedFactor) * dt);
137 if (IVehicleMobility* kinematic = VehicleSystem::findMobility("kinematic")) kinematic->update(v, dt);
186 std::fabs(targetSpeed) > 0.01f ? (b->getLinearVelocityX() * fx + b->getLinearVelocityZ() * fz) : 0.f;
245VehiclePhysicsStatus VehiclePhysics::attach3D(VehicleEntity* v, eve::physics::World3D* world, float heightY) {
318VehiclePhysicsStatus VehiclePhysics::tryTrackApply(VehicleEntity& v, float headingRad, float speed) {
Typed composition link from a gameplay entity to a physics body.
3D rigid body (Box3D) in meter-space coordinates (+Y up by convention). Owned by a World3D; create pr...
Definition Body3D.h:24
2D rigid body (Box2D) in pixel-space coordinates. Owned by a World; create shapes with newRectangleFi...
Definition Body.h:21
Fixture * newCircleFixture(float radius, float density=1.f, float friction=0.2f, float restitution=0.f)
Creates a circular fixture in pixel-space units.
Definition Body.cpp:256
3D shape (box/sphere/capsule) attached to a Body3D with material settings. Created via Body3D::new*Sh...
Definition Shape3D.h:25
void setFilterBits(uint64_t categoryBits, uint64_t maskBits)
Collision filter bits used by world ray/query filters (Box3D b3Filter). categoryBits 声明本形状属于哪些类别;mask...
Definition Shape3D.cpp:891
Box3D rigid-body world. Script coordinates are meters (Box3D native), unlike 2D World which uses pixe...
Definition World3D.h:63
void update(float dt)
Steps the simulation by dt seconds (default substep count).
Definition World3D.cpp:726
Box2D world wrapper (2D physics) with pixel-space coordinates. Handles stepping, gravity,...
Definition World.h:41
VehiclePhysicsBinding(eve::physics::PhysicsLink link, eve::physics::World *world, std::weak_ptr< const void > lifetime)
Definition VehiclePhysics.cpp:23
eve::physics::Body3D * resolve3D() const
Definition VehiclePhysics.cpp:47
bool isAttached() const
Definition VehiclePhysics.cpp:61
eve::physics::Body * resolve2D() const
Definition VehiclePhysics.cpp:33
VehiclePhysicsBinding(eve::physics::PhysicsLink link, eve::physics::World3D *world, std::weak_ptr< const void > lifetime)
Definition VehiclePhysics.cpp:27
~VehiclePhysicsBinding() noexcept
Definition VehiclePhysics.cpp:31
static VehiclePhysicsStatus detach(VehicleEntity *v)
Destroy attached bodies if any.
Definition VehiclePhysics.cpp:273
static VehiclePhysicsStatus tryWheelMove(VehicleEntity &v, float dt)
Step wheel/ship mobility from an attached body.
Definition VehiclePhysics.cpp:293
static void registerBuiltinMobility()
Register suspension mobility when physics is in the build.
Definition VehiclePhysics.cpp:333
static void syncTrackFromBody(VehicleEntity &v)
Copy attached body pose into motion for tracked vehicles.
Definition VehiclePhysics.cpp:306
static VehiclePhysicsStatus attach2D(VehicleEntity *v, eve::physics::World *world)
Attach a 2D dynamic body when physics is in the build.
Definition VehiclePhysics.cpp:222
static VehiclePhysicsStatus tryTrackApply(VehicleEntity &v, float headingRad, float speed)
Apply tracked heading/speed to an attached body.
Definition VehiclePhysics.cpp:318
static bool isAttached(VehicleEntity *v)
Whether the entity has a live, resolvable physics body.
Definition VehiclePhysics.cpp:283
static VehiclePhysicsStatus attach3D(VehicleEntity *v, eve::physics::World3D *world, float heightY)
Attach a 3D dynamic body when physics is in the build.
Definition VehiclePhysics.cpp:245
static float height(VehicleEntity *v)
3D body height, or 0 when no 3D body is attached.
Definition VehiclePhysics.cpp:287
static IVehicleMobility * findMobility(const std::string &name)
按名字取移动模型;未注册返回 nullptr。
Definition VehicleSystem.cpp:191
static void registerMobility(IVehicleMobility *mobility)
注册移动模型实现;同名替换。
Definition VehicleSystem.cpp:186
VehiclePhysicsStatus
Outcome of an optional physics attach, detach, or mobility step.
Definition VehiclePhysics.h:21
@ Unavailable
No physics module, no body, or invalid arguments.
Definition Container.h:602
Generation-qualified relationship between one world and one body.
Definition PhysicsLink.h:33
eve::Result< Body * > resolve(World &world) const
Resolves this link against a 2D world or returns StaleHandle.
Definition PhysicsLink.cpp:55
static eve::Result< PhysicsLink > fromBody(const Body &body)
Creates a link from a live 2D body.
Definition PhysicsLink.cpp:39
std::vector< SuspensionWheel > wheels
Definition VehicleTypes.h:123
载具模板(registerVehiclesFromJson 注册,进程级注册表)。
Definition VehicleTypes.h:135