# Ceremonial Banner Pole (Imperial China Palace and Garden)

A tall banner on a weighted timber pole: a long lacquered pennant with a scalloped tail and abstract bronze bands, 4.2 m overall.

- **URL:** https://3dassets.dev/assets/imperial-china-palace-and-garden-ceremonial-banner-pol-5795ed1a
- **GLB (direct, CORS *, immutable):** https://cdn.3dassets.dev/assets/36209/v1/model.glb
- **Download (counted):** https://3dassets.dev/download/imperial-china-palace-and-garden-ceremonial-banner-pol-5795ed1a
- **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:** Props & Furniture
- **Tags:** Historical, Stylized, Exterior
- **Geometry:** 468 triangles, 561 vertices, 4 meshes, 4 materials, 0 textures
- **Size (m):** 1.04 × 4.44 × 0.7
- **Animations:** none
- **File size:** 0.01 MB
- **Downloads:** 0
- **AI used (contributor-reported):** yes; model: Claude Opus 5

## About

A tall banner on a weighted timber pole: a long lacquered pennant with a scalloped tail and abstract bronze bands, 4.2 m overall. Overall 1.04 by 4.44 by 0.70 m (X by Y by Z). Metre units, +Y up, the side a visitor approaches from toward +Z, resting on y=0. Base 0.7 m square. The banner is a rigid panel in the pose it hangs in: cloth needs skinning this library does not have, and its markings are abstract bands, not writing. Every carved and painted motif is invented and no surface carries characters of any script. 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/36209/v1/model.glb', (gltf) => {
  scene.add(gltf.scene)
})
```

## React Three Fiber

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

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

## <model-viewer>

```html
<model-viewer src="https://cdn.3dassets.dev/assets/36209/v1/model.glb" alt="Ceremonial Banner Pole (Imperial China Palace and Garden)" 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/36209/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/36209/v1/model.glb")) await gltf.InstantiateMainSceneAsync(transform);
```

---
JSON: https://3dassets.dev/api/v1/assets/imperial-china-palace-and-garden-ceremonial-banner-pol-5795ed1a · Loads with a plain GLTFLoader: no Draco/KTX2 loaders needed.