050ea4eb2f87f07ebaf3d44eebb605b4ffb4e610
Gizmo usability: - Refresh the gizmo every tick while simulation is running so it glues to animated / AI-driven / timeline-driven actors instead of freezing at the pose they had when selected - Clear the pawn's active sub-element drag state on FinishPointPlacement / CancelPointPlacement — previously, after clicking Done on a spline, the gizmo jumped to the center cube but the internal ActiveSplinePointIndex stayed on the last clicked CP, so dragging the gizmo moved that CP instead of the whole actor - Expose UpdateGizmo() publicly on the SelectionManager so the PlayerController Tick can drive it Package cooking (fix gray gizmos / missing outline in packaged builds): - Convert every runtime LoadObject<> soft-string path into a UPROPERTY TObjectPtr<> filled via ConstructorHelpers::FObjectFinder at CDO construction time. Hard refs are picked up by the cooker so plugin Content assets (M_PS_Editor_Gizmo, M_PS_Editor_SelectionOutline, M_PS_Editor_SplineLine, and the engine basic shapes the spline actor uses) are reliably staged - Touches APS_Editor_Gizmo, APS_Editor_Pawn (outline post-process material), APS_Editor_SplineActor (gizmo material, spline line material, center cube mesh, handle sphere mesh) Ground placement (PS_Editor_GroundSnap): - New PS_Editor_GroundSnap utility centralising placement logic for catalogue spawns, End-key snap-to-ground, and spline CP placement - ProjectCameraRayToGround: aim down from a point in front of the camera when the camera ray misses (no more "looking at sky spawns object in mid-air"); classify the primary hit by normal to re-cast from below a ceiling / step back from a wall so the object lands on the floor underneath / at the foot of the surface rather than embedded in it - SnapActorToGround: start the downward ray from INSIDE the actor's volume (pivot + small buffer), ignoring the actor itself — avoids the "raised a bit high, pressed End, teleports to upper story" bug where starting above the actor's bbox could cross the current room's ceiling and find the upper floor as the first floor-like surface - Uses GetActorBounds(bOnlyCollidingComponents=true) with a fallback so characters snap from their capsule bounds rather than bbox including non-colliding meshes / attached weapons / child actors that used to lift pawns into the air - Multi-hit trace + normal.Z >= 0.3 filter skips walls, ceilings, and backfaces when finding the first true floor below Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
C++
92.7%
HTML
6.3%
C
0.5%
C#
0.5%