代码拉取完成,页面将自动刷新
<!--
* @Description:
* @Version: 1.668
* @Autor: 地虎降天龙
* @Date: 2024-01-09 17:15:51
* @LastEditors: 地虎降天龙
* @LastEditTime: 2024-04-23 20:20:17
-->
<template>
<primitive :object="ol.group" />
</template>
<script setup lang="ts">
import * as THREE from 'three'
import { useTres } from '@tresjs/core'
import { Outlines } from '@pmndrs/vanilla'
import { onMounted, watchEffect } from 'vue'
const props = withDefaults(
defineProps<{
color?: string
thickness?: number
screenspace?: boolean
}>(),
{
color: '#ffffff',
thickness: 0.1,
screenspace: false,
},
)
const { renderer } = useTres()
const ol = Outlines({
color: new THREE.Color(props.color),
thickness: props.thickness,
screenspace: props.screenspace,
gl: renderer,
})
onMounted(() => {
ol.generate()
})
watchEffect(() => {
ol.updateProps({
color: new THREE.Color(props.color),
thickness: props.thickness,
screenspace: props.screenspace,
})
})
</script>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。