diff --git a/editor/src/editor/layout/inspector/mesh/collision.tsx b/editor/src/editor/layout/inspector/mesh/collision.tsx index 10e7ff029..3fea45591 100644 --- a/editor/src/editor/layout/inspector/mesh/collision.tsx +++ b/editor/src/editor/layout/inspector/mesh/collision.tsx @@ -43,10 +43,6 @@ export class EditorMeshCollisionInspector extends Component {this._mesh.checkCollisions && ( -
this._setTemporaryCollisionMeshVisible(true)} - onMouseLeave={() => this._setTemporaryCollisionMeshVisible(false)} - > - {this._getCollisionType(this._collisionMesh, "cube", )} - {this._getCollisionType(this._collisionMesh, "sphere", )} - {this._getCollisionType(this._collisionMesh, "capsule", )} - {this._getCollisionType(this._collisionMesh, "lod", )} -
+ <> + this.forceUpdate()} + /> + +
this._setTemporaryCollisionMeshVisible(true)} + onMouseLeave={() => this._setTemporaryCollisionMeshVisible(false)} + > + {this._getCollisionType(this._collisionMesh, "cube", )} + {this._getCollisionType(this._collisionMesh, "sphere", )} + {this._getCollisionType(this._collisionMesh, "capsule", )} + {this._getCollisionType(this._collisionMesh, "lod", )} +
+ )} ); diff --git a/editor/src/editor/layout/preview.tsx b/editor/src/editor/layout/preview.tsx index 3c62329d1..51b2b4020 100644 --- a/editor/src/editor/layout/preview.tsx +++ b/editor/src/editor/layout/preview.tsx @@ -71,8 +71,7 @@ import { UniqueNumber, waitNextAnimationFrame, waitUntil } from "../../tools/too import { isSprite, isSpriteManagerNode, isSpriteMapNode } from "../../tools/guards/sprites"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from "../../ui/shadcn/ui/dropdown-menu"; import { Popover, PopoverContent, PopoverTrigger } from "../../ui/shadcn/ui/popover"; -import { isAbstractMesh, isAnyTransformNode, isCamera, isCollisionInstancedMesh, isCollisionMesh, isInstancedMesh, isLight, isMesh, isNode } from "../../tools/guards/nodes"; - +import { isAbstractMesh, isAnyTransformNode, isCamera, isCollisionInstancedMesh, isCollisionMesh, isLight, isNode } from "../../tools/guards/nodes"; import { EditorCamera } from "../nodes/camera"; import { SpinnerUIComponent } from "../../ui/spinner"; diff --git a/editor/src/editor/nodes/collision.ts b/editor/src/editor/nodes/collision.ts index 8cb093667..fddb2342b 100644 --- a/editor/src/editor/nodes/collision.ts +++ b/editor/src/editor/nodes/collision.ts @@ -181,14 +181,14 @@ export class CollisionMesh extends Mesh { } private _createCapsuleCollisionMesh(sourceMesh: AbstractMesh, boundingInfo: BoundingInfo): void { - const size = boundingInfo.boundingBox.maximum.subtract(boundingInfo.boundingSphere.minimum); + const size = boundingInfo.boundingBox.maximum.subtract(boundingInfo.boundingBox.minimum); const geometry = new Geometry( Tools.RandomId(), sourceMesh.getScene(), CreateCapsuleVertexData({ - height: Math.abs(size.y), - radius: boundingInfo.boundingSphere.radius, + height: Math.abs(size.y), + radius: Math.max(size.x, size.z) / 2, subdivisions: 16, tessellation: 16,