Browse Source

feat:添加物体

feature/three
guoapeng 3 months ago
parent
commit
84ac3951d1
  1. 32
      src/views/dataModel/index.vue

32
src/views/dataModel/index.vue

@ -1,31 +1,48 @@
<script setup lang="ts">
import * as THREE from 'three'
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'
import { onMounted, ref } from 'vue'
const container = ref<HTMLDivElement>()
let scene: THREE.Scene
let camera: THREE.PerspectiveCamera
let renderer: THREE.WebGLRenderer
// let controls: OrbitControls
let controls: OrbitControls
// let twinModel: THREE.Group //
const initThree = () => {
scene = new THREE.Scene()
scene.background = new THREE.Color(0xEEEEEE)
scene.background = new THREE.Color('black')
//
camera = new THREE.PerspectiveCamera(
75,
container.value?.clientWidth / container.value?.clientHeight,
0.1,
1000,
800 / 500,
1,
3000,
)
camera.position.set(5, 5, 5)
camera.position.set(292, 223, 185)
camera.lookAt(0, 0, 0)
//
renderer = new THREE.WebGLRenderer({ antialias: true })
renderer.setSize(container.value?.clientWidth || 0, container.value?.clientHeight || 0)
renderer.setSize(800, 500)
renderer.setPixelRatio(window.devicePixelRatio)
container.value?.appendChild(renderer.domElement)
controls = new OrbitControls(camera, renderer.domElement)
controls.enableDamping = true
//
const geometry = new THREE.BoxGeometry(50, 50, 50)
const material = new THREE.MeshBasicMaterial({
color: 0x0000FF,
})
const mesh = new THREE.Mesh(geometry, material)
scene.add(mesh)
// AxesHelper
const axesHelper = new THREE.AxesHelper(250)
scene.add(axesHelper)
//
const ambientLight = new THREE.AmbientLight(0xFFFFFF, 0.8)
scene.add(ambientLight)
@ -33,6 +50,7 @@ const initThree = () => {
const pointLight = new THREE.PointLight(0xFFFFFF, 1)
pointLight.position.set(5, 5, 5)
scene.add(pointLight)
renderer.render(scene, camera)
}
onMounted(() => {

Loading…
Cancel
Save