# threejs_vue
**Repository Path**: codes-demos/threejs_vue
## Basic Information
- **Project Name**: threejs_vue
- **Description**: 通过ThreeJsUtil实现各种功能的方法,诸如模型爆破,MMD模型展示,事件监听,天空盒,相机飞行,边缘轮廓发光,第一人称相机控制以及精灵标签等。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-03-18
- **Last Updated**: 2024-05-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
ThreeJsUtil演示Demo
# 简介
## 项目简介
`ThreeJsUtil演示Demo` 是基于 vue2 开发的ThreeJsUtil工具类的演示demo,演示了通过ThreeJsUtil实现各种功能的方法,诸如模型爆破,MMD模型展示,事件监听,天空盒,相机飞行,边缘轮廓发光,第一人称相机控制以及精灵标签等。
## 项目来源
来源于大二时的实验室项目(智慧重电),从中抽离出的threejs工具类的demo演示。
## 在线体验
暂不提供
## 项目源码
| 平台 | 源码地址 |
|--- |-------------------------------------------|
| 码云 | https://gitee.com/codes-demos/threejs_vue |
## 反馈交流
为了方便管理,现已开启 Gitee 的 Issues 功能,欢迎在 [Gitee](https://gitee.com/codes-demos/threejs_vue/issues) 上提 Issues。
QQ:484132820、微信:tsuimengchao、邮箱:tsuimengchao@aliyun.com
# 界面展示
## 开始
1、HelloWorld

2、Demo

光标选中后双击执行相机飞行,切换中心体

## 场景
1、天空(使用内置天空,720度旋转)

2、场景背景图(静态背景)

3、场景天空盒(6张照片无缝拼接)

## 相机
1、相机飞行(图片展示不出效果)

2、相机飞行到模型周围(飞行完毕后以模型作为中心点,启用控制器)

3、漫游(鼠标悬浮在地方出现红圈,点击地面移动到点击处)


## 模型
1、获取模型层级(看控制台打印值),其余获取参数案例一致,暂不展示

2、模型动画(马儿在奔跑,模型内置动作,图片展示不出效果)

3、模型爆破图(双击模型,模型按楼层展开,蓝色轮廓线代表鼠标停留在模型上)


4、线框模型(模型仅显示框架)

5、mmd模型展示(有动作和声音)


## 标签
1、精灵文字(永远面向相机)

2、精灵标签(永远面向相机)

3、div精灵标签(使用html动态渲染进去的,可使用css调整样式,永远面向相机)

4、2DCss标签(永远占相机固定尺寸,无视相机远近,永远面向相机)


4、3DCss标签(固定朝向)


## 事件
1、事件监听(看控制台打印)

## 插件
1、Gui(threejs内置)


2、Stats(左上角帧率检测)



## 后期处理
1、边缘轮廓发光(分为可见域与不可见域)


2、辉光(模型发光)


## 控制器
1、轨道控制器(threejs自带)

2、第一人称相机控制器(前后左右移动,跳跃,碰撞检测-是否在地面以及是否撞墙等,重力下落)

3、第三人称相机控制器

4、鼠标锁定控制器(第一人称加鼠标锁定在屏幕中心,类似于大部分3D游戏控制器)

## 简单案例
1、智慧实验室(射线拾取配合事件监听可以获得触发事件关联的物体)


2、15栋3楼
