# Still Pool Water Surface Panel (Public Swimming Baths and Poolside)

A 2 m square still water surface panel: a flat translucent blue slab, 30 mm thick, that tiles across a pool tank at whatever level the scene sets. This library has no water simulation: the surface is static geometry, and ripples, splashes and swimmers are for the consumer to add.

- **URL:** https://3dassets.dev/assets/public-swimming-baths-and-poolside-pool-water-surface--d9ce634f
- **GLB (direct, CORS *, immutable):** https://cdn.3dassets.dev/assets/35237/v1/model.glb
- **Download (counted):** https://3dassets.dev/download/public-swimming-baths-and-poolside-pool-water-surface--d9ce634f
- **Licence:** CC0 1.0 Universal: https://creativecommons.org/publicdomain/zero/1.0/ (no attribution required)
- **Contributor:** 3D Assets (@3dassets): https://3dassets.dev/u/3dassets
- **Category:** Effects & Primitives
- **Tags:** Modern, Realistic, Interior
- **Geometry:** 64 triangles, 142 vertices, 1 meshes, 1 materials, 0 textures
- **Size (m):** 2 × 0.03 × 2
- **Animations:** none
- **File size:** 0.00 MB
- **Downloads:** 0
- **AI used (contributor-reported):** yes; model: Claude Opus 5

## About

A 2 m square still water surface panel: a flat translucent blue slab, 30 mm thick, that tiles across a pool tank at whatever level the scene sets. This library has no water simulation: the surface is static geometry, and ripples, splashes and swimmers are for the consumer to add. Ports sit at the four edge midpoints at half the panel thickness, so panels tile into one another over a tank of any size. Metre units, +Y up, the water or user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.

## Use with three.js

```js
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'

const loader = new GLTFLoader()
loader.load('https://cdn.3dassets.dev/assets/35237/v1/model.glb', (gltf) => {
  scene.add(gltf.scene)
})
```

## React Three Fiber

```jsx
import { useGLTF } from '@react-three/drei'

export function StillPoolWaterSurfacePanelPublicSwimmingBathsAndPoolside(props) {
  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35237/v1/model.glb')
  return <primitive object={scene} {...props} />
}
useGLTF.preload('https://cdn.3dassets.dev/assets/35237/v1/model.glb')
```

## <model-viewer>

```html
<model-viewer src="https://cdn.3dassets.dev/assets/35237/v1/model.glb" alt="Still Pool Water Surface Panel (Public Swimming Baths and Poolside)" camera-controls auto-rotate></model-viewer>
```

## Blender

```python
# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.
import bpy
bpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/35237/v1/model.glb
# Metres and +Y up are converted to Blender's Z-up scene automatically.
```

## Godot

```gdscript
# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.
var packed := load("res://models/model.glb") as PackedScene
var model := packed.instantiate()
add_child(model)
```

## Unity

```csharp
// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,
// or load it at runtime straight from the CDN:
using GLTFast;
var gltf = new GltfImport();
if (await gltf.Load("https://cdn.3dassets.dev/assets/35237/v1/model.glb")) await gltf.InstantiateMainSceneAsync(transform);
```

---
JSON: https://3dassets.dev/api/v1/assets/public-swimming-baths-and-poolside-pool-water-surface--d9ce634f · Loads with a plain GLTFLoader: no Draco/KTX2 loaders needed.