feat: Implement ColliderCreator and ColliderInstance components, enhance PhysicsSimulator with multiple MaterialSpawner instances

This commit is contained in:
2025-07-23 14:03:00 +05:30
parent d4d66d9d32
commit ec4a4247b2
5 changed files with 319 additions and 24 deletions

View File

@@ -7,6 +7,7 @@ import Builder from "../builder/builder";
import Visualization from "../visualization/visualization";
import Setup from "./setup/setup";
import Simulation from "../simulation/simulation";
import PhysicsSimulator from "./physics/physicsSimulator";
import Collaboration from "../collaboration/collaboration";
import useModuleStore from "../../store/useModuleStore";
import { useParams } from "react-router-dom";
@@ -15,7 +16,6 @@ import { getUserData } from "../../functions/getUserData";
import { useLoadingProgress, useSocketStore } from "../../store/builder/store";
import { Color } from "three";
import { Physics } from "@react-three/rapier";
import MaterialSpawner from "./physics/materialSpawner";
export default function Scene({ layout }: { readonly layout: 'Main Layout' | 'Comparison Layout' }) {
const map = useMemo(() => [
@@ -73,20 +73,11 @@ export default function Scene({ layout }: { readonly layout: 'Main Layout' | 'Co
>
<Setup />
<Collaboration />
<Physics gravity={[0, -9.81, 0]} allowedLinearError={20} numSolverIterations={20} debug >
<Physics gravity={[0, -9.81, 0]} allowedLinearError={50} numSolverIterations={50} debug >
<Builder />
<Simulation />
<MaterialSpawner
position={[0, 3, 0]}
spawnInterval={1000}
spawnCount={50}
/>
<MaterialSpawner
position={[-21, 3, -8]}
spawnInterval={1000}
spawnCount={10}
/>
<PhysicsSimulator />
</Physics>
<Visualization />
</Canvas>