跳转至

3.1 引擎插件的使用

多媒体

3D音频播放器

1. 介绍

用于在3D空间中播放音频。该音频具有方向性,会根据距离远近衰减。 默认情况下,从摄像机位置可以听到声音。 3d_audio_show

2. 创建

点击 快速创建→多媒体→3D音频播放器 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。

3d_audio_player

3. 属性设置

3D音频播放器通过右下角的 属性面板 (见图中3处)进行设置。

  • 音频流:即将要播放的音频。目前支持 OGGWAVMP3 格式,可以拖动音频资源到该属性栏上进行设置。

  • 单位分贝:单位基本声级,以dB为单位。

  • 单位尺寸:衰减效果的因素。

  • 播放中:启用后,音频将开始播放。

  • 循环:播放声音是否循环。

  • 暂停:启用后,音频播放将暂停,多用于编辑器中。

3D视频播放器

1. 介绍

用于在3D空间中播放视频。

3d_video_player

2. 创建

点击 快速创建→多媒体→3D视频播放器 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。

目前支持的视频格式包括: OGVMP4FLVAVIMPEGMKVWebM ,将视频资源拖到视频属性栏(见图中3处)上即可完成设置。

3d_video_player

3. 属性设置

3D视频播放器通过右下角的 属性面板 (见图中3处)进行设置。

  • 视频文件:即将要播放的视频。可以拖动视频资源到该属性栏上进行设置。

  • 暂停:可以暂停视频的播放,一般用于编辑器中。

  • 自动播放:默认为不勾选,若勾选,则启动案例运行之后视频自动开始播放。

  • 屏幕大小(x,y):视频显示的区域的宽和高。

  • 视口大小(x,y):视频像素大小。

  • 渲染优先级:用于控制该控件的渲染的优先级,数字越高优先级越高。

4.插件信号 - finished:在插件播放完毕后发出

  • playing_changed(is_playing):在插件的播放状态更改时发出,参数为当前播放状态。(是否正在播放) 3d_audio_signal

3D幻灯片播放器

1. 介绍

用于在3D空间中播放幻灯片。 3d_ppt_show

2. 创建

点击 快速创建→多媒体→3D幻灯片播放器 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。

3d_ppt_player

3. 属性设置

3D幻灯片播放器通过右下角的属性面板(见图中3处)进行设置。

  • 指定幻灯片:即将要播放的幻灯片。目前支持 pptpptx 格式,需要先导入幻灯片,再将ppt资源拖到该属性栏上进行设置。

  • 标题:设置PPT播放器面板左上角的标题。

  • 标题字号:设置PPT播放器面板左上角的标题的字体大小。

  • 页码字号:设置PPT右下角页码的字体大小。

  • 自动:勾选后,ppt将开启自动播放。

  • 暂停:勾选后,ppt将暂停播放。

  • 启用公告牌:勾选后,ppt控件的方向会一直朝向主相机。

  • 面板缩放比:调整播放器节点的整体大小。(等比例缩放)

  • 屏幕分辨率(x,y):ppt像素大小

  • 屏幕大小(x,y):ppt的宽和高

  • 渲染优先级:渲染优先级:用于控制该控件的渲染的优先级,数字越高优先级越高。

4.插件信号 - finished:ppt切换到最后一页时发出。

  • page_changed(current_page):ppt页数切换时发出,参数为当前的ppt页数。

3d_ppt_signal

环境

全景天空

1. 介绍

用于在3D空间中创建全景天空。

2. 创建

点击 快速创建→环境→全景天空 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。

将全景图片(见图中3处)拖到 全景 属性栏(见图中4处)上进行设置。

sky

动态天气

1. 介绍

用于在3D空间中创建动态天气效果。 weather

2. 创建

点击 快速创建→环境→动态天气 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。

weather

3. 属性设置

动态天气通过右下角的属性面板(见图中3处)进行设置。

  • 时间设置:设置当前时间,影响光照方向,数值范围为0点-24点。

  • 天空颜色:设置天空的颜色。

  • 风向:设置风的方向,数值范围为0°-360°。

  • 风强:设置风的强度。

  • 降雨量:设置降雨的大小。

  • 降雪量:设置降雪的大小。

  • 云层覆盖:设置云层的厚度。

  • 环境:加载预设的天气resource文件,其中可以设定的属性如下:

    • 背景:设定天空的背景颜色,天空方向以及阳光强度。

    • 环境光:设定该天空环境下的反射光颜色,反射光照强度以及天空光照的作用值。

    • 雾:设定雾气氛围。

    • 景深远模糊:设置远景模糊效果。

    • 景深近模糊:设置近景模糊效果。

    • 屏幕空间环境光遮蔽(SSAO):若开启,则可以表现出场景中物体在环境光照下产生的近似轮廓阴影。

以下属性只有当编辑器设置中属性面板展示模式为“详细”时才会显示:

- 屏幕空间反射(SSR):若开启此效果,所有材质将利用深度缓存器和前一帧的颜色,来创建比反射探针更精准的反射。

- 发光:设定当前环境光照参数。

- 色彩校正:校正当前环境的光照色彩,如亮度、对比度、饱和度。

- 自动曝光模式:设置曝光模式。

- 资源:设定当前环境的预加载资源文件及其名称。

海面

1. 介绍

用于在3D空间中创建海面模型。

ocean

2. 创建

点击 快速创建→环境→海面 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。

ocean

3. 常见问题

如何制作特定形状的水面效果?

1.选择特定形状模型节点;
2.修改材质属性,选择加载选项(如图所示);
3.选择海洋材质路径:res://addons/ocean/ocean/materials/visual_water_a.resource,加载后该模型即变为海面效果。

ocean_material

地形

1. 介绍

用于在3D空间中创建地形模型。

ocean_material

2. 创建

点击 快速创建→环境→地形→调节地形参数 (见图中1处),弹出 生成地形 面板进行参数设置,完成后节点会在右侧 场景树 (见图中2处)中显示。

terrain

terrain_data

温馨提示

地形目录有默认目录,可以在生成地形后在底部文件系统中修改目录名称。

3. 画刷

地形画刷可以用来自由调整地形细节。

terrain_brush

图中1处:更改画刷类型,包括:

  • 提升高度、降低高度:用于改变地形高低;

terrain_brush

terrain_brush

  • 光滑高度:用于平滑画刷当前位置和周围的高度差;

  • 水平面:用于根据当前画刷位置和周围的高度差创建一个平滑表面;

  • 平台:用于搭建一个特定高度的平台,高度可以在图中2处设置;

  • 侵蚀:用于制造雨水侵蚀效果;

  • 地形纹理绘制:用于改变地形表面纹理,如岩石层、泥土层等;

  • 地形颜色绘制:用于改变地形表面颜色;

  • 地形草皮绘制:用于增加地形表面植被,如草皮、花朵等;

图中2处:更改画刷大小、不透明度和特殊类型的属性。

4. 属性设置

  • 环境风:用于影响当前地形上的各类植被;

  • 组块大小:影响渲染效率,一般不需要做修改;

  • 着色器类型:主要使用4种,Classic4和Classic4Lite都是基础地形着色器,但是前者效果会比后者更好,后者效率更高;LowPoly是低多边形着色器,用于生成卡通效果的地形;Custom是自定义着色器。

  • 自定义着色器:如果想要使用自定义着色器,需要先将着色器类型设置为Custom。

5.其他设置

terrain_settings

点击 地形 按钮显示图中下拉框:

  • 导入地形:用于导入地形高度图,根据地形高度图可以生成地形模型;

  • 生成地形:用于生成/修改当前地形数据,更改地形的高低起伏;

  • 调整地形精度:用于调整地形整体精度;

  • 烘焙地形全局贴图:用于生成地形纹理图,给默认着色器进行使用;

  • 刷新地形碰撞体:用于更新地形碰撞体,防止产生穿模或悬空问题;

  • 输出高度图:用于输出当前地形数据,生成地形高度图,以便后续复用。

地形装饰

1. 介绍

用于在地形系统上添加装饰模型。

2. 创建

点击 快速创建→环境→地形装饰 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。

terrain_scatter

点击 Add 按钮添加装饰模型,然后选取想要添加到场景中的装饰模型,点击场景任意位置即可放置。

温馨提示

首先在导入场景文件或者模型位置进行设置(一般对坐标位置及高度进行调整);其次在地形上添加装饰模型时需要先刷新地形碰撞体,否则会导致模型不能紧贴地形装饰。

积雪

1.介绍

用于在3D场景中为网格和地形等节点生成积雪效果,积雪效果可以配合动态天气使用,效果如下:

snow

snow

support_hterrain

2.创建

点击 快速创建→环境→积雪 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。

snow

3.属性设置

积雪通过右下角的 属性面板 (见图中3处)进行设置。

  • 节点路径:指定要使用积雪效果的节点路径,会对该路径节点及其子树进行积雪覆盖

  • 启用积雪效果:是否启用积雪效果

  • 积雪覆盖范围:设置积雪的范围,数值越高,效果越密集。

4.注意事项

  • 仅对指定路径下的MeshInstace类型和CSG网格类型的节点增加积雪效果,一旦制定路径下某子节点被移走,则后续设置不能继续作用在该子节点上

  • UI板之类的节点不应增加积雪效果

  • Snow节点路径最好指向一个实例化的子场景

  • Snow节点在删除时会自动重置网格的材质

辅助功能

爆炸展示

1.介绍 用于在3D场景中,为多网格模型组成的模型进行爆炸展开效果,方便用户观察模型内部结构。效果如下: explosion

2.创建 点击 快速创建→辅助功能→爆炸展示 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。 snow

3.属性设置

Explosion节点主要属性: - 节点路径:需要爆炸的模型节点路径 - 爆炸范围:模型的炸开程度 - 模式:模型的爆炸模式 - 爆炸方向:模型沿哪个方向散开 - 开始爆炸:勾选此项,模型开始爆炸(项目运行时可见) - 爆炸复原:将爆炸后的模型复原(模型散开后勾选此项才有用,一般在脚本中调用)

4.使用注意事项

目前该插件仅支持将节点路径下的第一层子节点炸开。如图所示,如果节点路径选择car节点。那么图中红框节点会散开。再往下的子节点会作为一个整体移动。相关的模型不需要作为爆炸节点的子节点,只需要在节点路径中指定即可。 baozha

寻路指引

1.介绍 用于在3D空间中生成一条指示线路。支持两种模式,分别是固定线路和导航线路。 固定线路: 3345 导航线路: 3345

2.创建 点击 快速创建→辅助功能→寻路指引 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。 route_guidance

3.属性设置 寻路指引通过右下角的 属性面板 (见图中3处)进行设置。

  • 宽度校准值:调整路径宽度;

  • 每米的UV:箭头密度;

  • 模式:切换固定线路(FIXED_PATH)和导航线路(NAVIGATION_PATH)两种模式;

FIXED_PATH: - 固定路径点集:固定路径需要的点。通过多个点连成线路,需要大于等于2个点;

NAVIGATION_PATH: - 导航节点:是一个Navigation类型的节点,需要与导航网格实例一起使用;

  • 导航路径起点:从该节点出发的导航指引箭头;

  • 导航路径终点:导航指引箭头指向的最后节点。

4.操作演示 FIXED_PATH模式 - 选择模式为FIXED_PATH模式,设置固定路径点集为2(或以上),选择固定路径上的点。 1

NAVIGATION_PATH模式 - 创建导航网格; 11 - 添加导航节点,将导航网格作为导航节点的子节点; 22 - 修改路径模式为NAVIGATION_PATH; 33 - 选择导航节点为Navigation,导航路径起点为Sphere,导航路径终点为Sphere2。 44

5.注意事项 FIXED_PATH模式可能会出现箭头忽有忽无的效果,此时需要将寻路指引节点向上调整一段距离即可。 路线角度需要控制在大于等于90度,这样能取到比较好的效果;导航网格实例尽量窄一些,能取得较好的效果。

自动跟随

1.介绍 会使挂载在该节点下的节点根据参数始终跟随在选中的节点面前。 - 固定跟随未启用: no

  • 固定跟随启用: yes

2.创建 点击 快速创建→辅助功能→自动跟随 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。 auto_follow

3.属性设置

  • 启用:启用跟随;

  • 与节点的距离:与跟随的节点的距离;

  • 跟随触发的距离:当两个节点的距离大于该值,该节点会随着及其挂载的节点会跟随移动;

  • 跟随触发角度:当两个节点的旋转角度大于该值,则该节点会随着及其挂载的节点会跟随移动;

  • 跟随速度:跟随移动时的速度;

  • 固定跟随:一直触发,相对的距离和角度保持不变;

  • 跟随的节点: 被跟随的节点。

4.操作演示 - 将跟随节点作为auto_follower的子节点,选择脚本变量中跟随的节点参数指定为被跟随节点即可。 1234

顺序拆装

1.介绍 用于对物体进行顺序拆装或任意拆装。支持VR手柄拆装和鼠标拆装。可以选择顺序拆装/非顺序拆装,可以选择遍历所有网格或者使用默认的仅第一层子节点。 chaizhuang

2.创建 点击 快速创建→辅助功能→顺序拆装 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。 chaizhuang

3.开启顺序拆装功能

选中并右击根节点,选择添加脚本(如图所示)。 chaizhuang

在弹出的窗口中,设置好脚本的 保存路径 ,并单击 新建脚本chaizhuang

在弹出的交互编辑器当中,从右下角,找到 主任务任务拆分键盘 ,并将它们拖拽到中间的界面当中(如下图所示) chaizhuang

交互编辑器此时有许多模块出现,在 键盘 中找到键值选项并点击,在弹出窗口中,根据提示设置按键(见下图)。 chaizhuang

回到主窗口,选中顺序拆装节点,在属性面板当中,找到 开启重置 两项,将鼠标移动到文字处,左键按住并将其拖拽到交互编辑器的界面当中(如下图所示) chaizhuang

在交互编辑器中找到拖入的开启与重置两个模块,点击bool值,并勾选 (如下图所示) chaizhuang

找到主任务模块中的 右方向 箭头,鼠标左键按住拖拽到任务拆分模块中的箭头上,此时会出现一根线连接两个模块。以此类推,将所有模块连接起来(如下图所示)。最后点击交互编辑器窗口中的 新建 选项,选择 保存 来保存编辑好的脚本。 chaizhuang chaizhuang

运行项目,并按下设置好的按键,便能开始对模型进行顺序拆装

4.属性设置 顺序拆装通过右下角的 属性面板 (见图中3处)进行设置。

  • 节点路径:指定拆装的根节点的路径

  • 遍历全部网格:开启后会每个网格节点的拆装是独立的,默认不开启时仅能对指定根节点的第一层子节点进行拆装

  • 交互方式:PC模式下,支持在电脑设备上使用鼠标进行操作;VR模式下,使用VR设备进行操作

  • 吸附距离:在安装/拆卸过程中的有效距离,安装时在此距离内会自动吸附

  • 启用顺序拆装:是否启用顺序拆装,启用时顺序是节点的排布顺序

  • 开始:该属性是为了方便用户在交互编辑器中使用,将该属性设置为true时会开始拆装

  • 重置:该属性是为了方便用户在交互编辑器中使用,将该属性设置为true时会重置模型位置,若要再次开始,需要再次设置开始属性为真

5.注意事项

  • 拆装的物体节点的中心最好是在物体的中心位置

  • 请注意设置交互方式,如果是VR运行请选择VR,否则选择PC

  • 鼠标拆装需要检测碰撞,如果在PC模式下注意相机不要加碰撞,否则可能会导致鼠标检测不到想要拆装的节点

  • 开始和重置应该运行时设置,而且不要在ready中设置,因为程序内部会有一个初始化的时间。

  • 每次重置后需要再次设置开始才能进行新一轮拆装

  • 可以通过节点调整节点在节点树中的顺序来调整拆装的顺序及作用方式,比如物体零部件太多,可以在指定路径节点的第一层多加几个spatial节点,将零部件分成几组放在不同的spatial节点下面,然后取消勾选遍历全部网格,就可以将零部件分组拆装。

6.操作演示 chaizhuang

VR插件

VR相机

1.介绍 支持多种VR设备的第一人称节点。新建该节点并选择适当的模式运行,支持手柄和场景内刚体的默认交互行为,包括碰撞、拾取等。同时在可视化脚本中提供了两个新的触发器,支持对手柄射线和按钮事件的定义。触发器的详细介绍见 3.2 可视化交互编辑器介绍 相关内容。支持 该插件还提供了一个功能节点**VRHandle**,使用该功能节点可以实现mesh的移动,显隐。quest头盔按下左手柄的A键即可呼出相关功能菜单,MR头盔和HTC按下菜单键即可呼出菜单。

2.效果展示

vrplayer

3.创建 VRplayer节点:点击 快速创建→相机→VR相机 进行创建(见图中1处),创建完成后节点会在右侧 场景树 (见图中2处)中显示。 vrplayer

VRHandle节点:添加VRPlayer节点后,直接点击添加子节点(快捷键ctrl+A),搜索VRHandle节点进行添加即可

4.默认交互行为

  • 运行场景,当手柄触碰到场景内物体带的刚体,物体轮廓则呈黄色高亮显示,手柄可以拖动物体进行碰撞以及拾取等操作。

vrCamera_support_rigidbody

注意事项

  • 刚体用法

  • 1.单击场景树上方的+号,在弹出来的对话框的搜索框中输入rigid,选中对话框中的刚体(RigidBody)节点,单击新建即可;

vrhandle_trigger1

  • 2.选择场景树上刚才新建的刚体节点,单击场景树上方的+号,在弹出来的对话框的搜索框中输入mesh,选中对话框中的网格实例(MehInstance)节点,单击新建即可;

vrhandle_trigger2

  • 3.选择场景树上刚才新建的网格实例节点,单击网格实例属性下的网格属性,选择新建CubeMesh;

vrhandle_trigger3

  • 4.选择场景树上刚才新建的刚体节点,单击场景树上方的+号,在弹出来的对话框的搜索框中输入coll,选中对话框中的碰撞形状(CollisionShape)节点,单击新建即可;

vrhandle_trigger4

  • 5.选择场景树上刚才新建的碰撞形状节点,单击碰撞形状属性下的形状属性,选择新建BoxShape;

vrhandle_trigger5

  • 6.最终的效果如下图所示:

vrhandle_trigger5

5.属性设置

VRplayer节点主要属性

  • 运行模式:分为PC,Openvr和Quad Buffered Stereo三种模式,PC模式便于调试,Openvr适配MR头盔或者Quest头盔,Quad Buffer Stereo适配cave大屏;

  • 静止:静止;

  • 世界缩放:vr世界的缩放比;

  • 设置为主相机:运行时设置为场景主相机;

PC: - 可跳跃:pc模式下,勾选后可以按空格键跳跃;

  • 可飞行:pc模式下,勾选后不受重力影响(不可跳跃);

Openvr: - 流畅模式:如果启用会在运行时修改一些渲染参数来保障运行流畅度;

Quad Buffered - 重力:移动时会以射线指向为前进方向,启用重力则不能上下移动;

  • 瞬移按钮:根据Gmotion的手柄版本来设置瞬移按钮

  • 模拟调试:启用时将用键鼠来模拟大屏的追踪及手柄操作

  • FOV宽度缩放:控制Quad Buffer Stereo模式下的fov宽度;

  • FOV高度缩放:控制Quad Buffer Stereo模式下的fov高度;

  • Cave主要端口:cave连接时使用的端口号。

VRHandle节点主要属性:

  • 模式:调整相关模型的操作模式(显隐或移动);

  • 显示菜单:控制手柄菜单的显隐;

  • 全部显示:勾选后会直接调用手柄菜单中的全部显示功能,开放这个接口主要用于交互编辑时用;

  • 一键复位:勾选后会直接调用手柄菜单中的一键复位功能;开放这个接口主要用于交互编辑时用;

  • 工具节点:选择需要作用的节点,放在该节点下的模型可以使用手柄菜单中的功能。

6.使用注意事项

  • PC模式方便调试使用,wasd控制移动。

  • 工具节点请使用空节点(spatial节点),即:新建spatial节点,在该节点下添加相关模型,在VRHandle节点下的工具节点中选择该节点即可。

  • 若无法正常使用,请更新steamvr至1.16.10及之后的版本,该版本可以稳定运行。

  • 使用微软混合现实门户的头盔如果遇到卡顿问题,首先确保操作系统的内部版本号是16299.64及之后的版本,然后更新显卡驱动至最新,在混合现实门户中将预览关掉再次尝试。如果问题仍存在,尝试在steam中使用混合现实门户的beta版本。

  • 更多细节可以阅读手册VR硬件内容发布及使用一节。

7.大屏调试模式介绍 为了方便开发大屏应用时脱离大屏硬件进行开发,提供大屏调试模式。

具体操作如下:

  • WASDQE分比代表前左后右下上的方向,可以控制人物角色的移动或手柄的移动,通过alt键进行切换

  • 鼠标用来控制手柄的旋转,鼠标左键用于模拟手柄的扳机键进行操作。

启用方式: - 在编辑器中启用 模拟调试

  • 在运行时指定参数-developermode,该参数优先级高于编辑器中的模拟调试参数

使用注意点: - 可以使用linkvr的配置文件支持多个屏幕

  • 去除场景中无用的相机节点,避免其脚本扰乱鼠标模式。

监控

1.介绍

用于在虚拟场景中一键添加监控摄像头和监控面板,实时显示监控摄像头拍到的画面

monitor

2.创建

在资源商店中下载导入表格插件,点击 快速创建→辅助功能→监控 进行创建,创建完成后节点会在右侧 场景树 中显示。

create_monitor

3.属性设置

  • 显示监控模型:默认开启。开启效果为在3D场景中显示模型,关闭则隐藏

  • 监控面板比例:默认为用户创建一个4:3比例的面板。可选项有4:3或16:9。用户可根据自己的需求自行调整

  • 监控面板大小:默认为1.用户可根据使用场景自行调节面板的大小。调整面板大小不影响比例。

加载进度条

1.介绍

用于在场景跳转过程中异步加载场景并以进度条的形式实时显示加载进度

myprogress

2.创建

在资源商店中下载导入表格插件,点击 快速创建→辅助功能→加载进度条 进行创建,创建完成后节点会在右侧 场景树 中显示。

create_myprogress

3.属性设置

  • 指定场景:指定跳转场景,目标文件为.scene文件。若需要进行替换,可点击清除按钮,再将需要拖拽的场景文件进行放置

  • 开始加载:启用进度条功能。为true则默认开启,为flase则不开启

  • 进度百分比:控制百分比是否显示或者隐藏。为true则显示,为flase则隐藏

  • 加载描述:默认为loading...,若用户需要修改,可单击控件进行自定义设置

  • 字体颜色:用于设置加载描述以及百分比的颜色

  • 进度条颜色:用户设置进度条的颜色

  • 进度条贴图:默认给个贴图,若用户需要修改,可点击清除按钮,再将需要拖拽的场景文件进行放置

  • 背景颜色:用户设置进度条的背景颜色

  • 背景贴图:默认给个贴图,若用户需要修改,可点击清除按钮,再将需要拖拽的场景文件进行放置

操作演示 - 1.先制作完成一个场景,例如BasicScene

myprogress_step1

  • 2.新建一个场景,在场景中选择菜单栏,点击 快速创建→辅助功能→加载进度条 进行创建

myprogress_step2

  • 3.右键选择文件系统下的BasicScene,复制路径

myprogress_step3

  • 4.选择场景树上的加载进度条节点,并在加载进度条的属性栏中指定场景为刚刚复制的BasicScene场景的路径,粘贴至指定场景属性栏,并勾选开始加载即可

myprogress_step4

屏幕控件

表格插件

1.介绍 适用于在引擎中制作表格。同时在工具栏添加Marge cells按钮,可以将选中的多个单元格合并(如果可以合并)。 gongjulan 2.创建 在资源商店中下载导入表格插件,点击 快速创建→平面控件→表格 进行创建,创建完成后节点会在右侧 场景树 中显示。 3.属性设置

  • 行:行数,可自行更改

  • 列:列数,可自行更改

  • 对齐:水平对齐,调整字体在水平方向上的对齐(靠左,靠右,居中等)

  • 垂直对齐:垂直对齐,调整字体在垂直方向上的对齐(靠左,靠右,居中等)

  • 字体:可添加字体,更改字体大小等,与引擎中的Font属性相同,设置的字体会同时应用到作为tablecell节点中

  • 线的宽度:表格的线宽

  • 线条颜色:表格线的颜色

  • 默认单元格高度:添加格子时新格子的高度

  • 默认单元格宽度:添加格子时新格子的宽度

  • 单元格矩阵:为了在编辑器中保存变化而导出的变量,不能手动进行修改

4.使用注意事项 不能修改tablecell节点中脚本变量下的属性,不然会导致错误。

3D按钮插件

1.介绍 在3D空间中的button节点。通过新建自定义Button3D节点来使用。 3d_button_show

2.创建 在资源商店中下载导入表格插件,点击 快速创建→平面控件→3D按钮 进行创建,创建完成后节点会在右侧 场景树 中显示。 3.属性设置

  • 按钮文本:按钮的文本内容

  • 按钮字号:按钮字体的大小

  • 按钮文本颜色:按钮文本的颜色

  • 启用公告牌:开启后,按钮会一直朝向主相机

  • 面板缩放比:按比例调整按钮控件的大小

  • 宽度:调整按钮宽度

  • 高度:调整按钮高度

  • 渲染优先级:调整渲染优先级,当和其他半透明的物体显示有冲突时可以调整这个参数使按钮显示在更前或更后方

4.插件信号

button_pressed(),和一般的按钮按下信号相同,当按钮被点击时触发。按钮的交互功能主要通过这个信号实现。

5.示例

新建一个按钮,通过信号实现点击按钮在控制台输出窗口打印一个”Null”字符串的交互逻辑

    1. 在根节点上新建一个可视化脚本 3d_button_use_1
    1. 将3D按钮的信号连接到根节点的脚本上 3d_button_use_2
    1. 信号连接后,在弹出的可视化脚本中对应的函数中连接一个Print节点(可通过搜索找到) 3d_button_use_3
    1. 运行场景,点击按钮时输出窗口会打印一个“Null”字符串

3D面板插件

1.介绍 在3D空间中的panel节点。通过新建自定义Panel3D节点来使用。 panel_signal 2.创建 在资源商店中下载导入表格插件,点击 快速创建→平面控件→3D面板 进行创建,创建完成后节点会在右侧 场景树 中显示。 3.属性设置

3D面板分为单页和多页模式,每种模式下有不同的属性:

单页模式

  • 标题文本:标题文本内容
  • 面板文本:正文部分文本内容
  • 关闭按钮:右上角的关闭按钮开启/关闭
  • 确认按钮:底部确认按钮的开启/关闭
  • 按钮文本(勾选启用按钮后显示):按钮的文本
  • 按钮字号(勾选启用按钮后显示):按钮字体大小
  • 确认时关闭(勾选启用按钮后显示):勾选后,按下确认按钮时将面板关闭
  • 添加音频:为面板添加一个自动播放的音频

多页模式

  • 总页数:多页面板的总页数,页数范围为2页到10页,调整总页数时会同时调整文字、音频等属性的数量
  • 当前页:当前页为几,面板上显示的就是第几页的内容
  • 标题:不同页的标题内容
  • 面板:不同页的文本内容
  • 按钮文本:第一页到倒数第二页显示的按钮文本
  • 结束时按钮文本:最后一页显示的按钮文本
  • 添加音频:多页模式会为每一页添加独立的自动播放的音频

自定义样式

自定义样式下的属性可以同时修改单页模式和多页模式的面板样式

  • 面板不透明度:调整面板背景的不透明度,相当于调整面板颜色的Alpha的值
  • 文字颜色:调整面板标题、正文和按钮的颜色
  • 字体:修改标题、正文和按钮文字的字体,需要有对应的字体文件(.ttf格式)
  • 字号:有标题字号和面板字号两个属性,可以修改对应的字体大小
  • 面板颜色:调整面板背景的颜色
  • 面板贴图:自定义面板的背景样式
  • 按钮颜色:调整底部按钮的颜色
  • 按钮贴图:三个按钮的贴图属性分别对应正常、悬停、按下三种装态的贴图
  • 关闭按钮颜色:调整右上角关闭按钮的颜色
  • 启用公告牌:开启后,会一直朝向主相机
  • 面板缩放比:按比例调整面板控件的大小
  • 宽度:调整面板宽度
  • 高度:调整面本高度
  • 渲染优先级:调整渲染优先级,当和其他半透明的物体显示有冲突时可以调整这个参数使面板显示在更前或更后方

4.插件信号

  • button_close_pressed():当关闭按钮被点击时触发
  • button_complete_pressed():当多页模式下点击最后一页的完成按钮时触发
  • button_nextPage_pressed(current: var):当多页模式下点击下一步按钮时触发,连接该信号时会传递一个参数,参数的值为每次点击下一步时所在的页数,可以通过这个参数实现
  • button_pressed():当单页模式下的确认按钮被点击时触发

5.使用方法

  • 面板音频

通过在属性里添加音频可以为面板设置自动播放的音频,音频在面板的可见性从隐藏变为可见时开始自动播放。对于多页模式的音频组,面板从隐藏变为显示时会播放当前页的音频,此外,当点击下一步时,会自动播放下一页的音频。

如果需要手动获取音频的播放状态,请为面板添加音频播放器节点。

  • 多页模式

将button_nextPage_pressed(current: var)连接到可视化脚本中,将参数连接到Switch节点,在Switch分支中执行在不同页面点击底部按钮时的操作,适用于第一页到倒数第二页,最后一页的点击需要使用button_complete_pressed()信号。

关于多页面板音频播放的注意事项

  • 如果要一开始自动播放第一页的音频,可以先隐藏面板,然后在初始化的时候,设置可见性为true,之后就可以实现一开始就可以自动播放第一页的音频

3D字体控件

1.介绍 可以在3D空间中输入字体并自动将字体转化为3D状态。并且可以将字体变成meshinstance。 convert_mesh 2.创建 在资源商店中下载导入**表格插件**, 点击 快速创建→平面控件→3D字体 进行创建,创建完成后节点会在右侧 场景树 中显示。

3.属性设置

  • 文本:显示的文本

  • 字体大小:字体大小

  • 字体:可以导入自定义字体

  • 颜色:字体材质的颜色

  • 金属:字体材质的金属度

  • 粗糙度:字体材质的粗糙度

  • 发射光颜色:字体材质的发射光颜色

  • 发射光强度:字体材质的发射光强度

  • 拉伸:字体的拉伸程度(直观表现为字体的厚度)

  • 最大步长:步数越多,渲染的时间就越长

  • 步长大小:较小的步长将增加渲染时间,而较大的步长将更快地渲染

考题插件

1.介绍 用于3D场景中的考核功能,支持导入题库(csv文件),兼容鼠标和VR手柄交互。 create_exam

2.创建 在资源商店中下载导入考题插件,点击**快速创建→辅助功能→考题系统**,创建完成后节点会在右侧**场景树**中显示。

3.属性设置

  • 题库文件路径:导入的csv文件路径(选择导入的csv文件即可);

  • 抽取题目数量:抽取的考试题目的数量;

  • 总分:设置总分;

  • 随机出题:是否需要随机出题;

  • 屏幕大小(x,y):调整考题UI的大小;

  • 时间限制:是否打开时间限制(单位:分钟);

  • 时间:勾选时间限制后出现的属性,用于设置时间(单位:分钟)。

4.使用注意事项

导入的考题文件必须是csv文件,相关csv文件的创建直接将相关文件另存为csv文件即可,不能强行求改文件后缀。并且文件的格式要求需如图: csv_file 目前该插件支持单选题、多选题和判断题。

步骤提示

1.介绍 便于用户开发VR内容,特别是有操作步骤的虚仿实验时,快速实现文字提示功能。 create_step

2.创建 在资源商店中下载导入**步骤提示**, 点击 快速创建→平面控件→步骤提示 进行创建,创建完成后节点会在右侧 场景树 中显示。

3.属性设置

  • 文本内容:每条对应一句字幕;初始显示3条,且有默认文本,可以增加修改

  • 步骤切换按钮:是否启用步骤切换按钮

  • 当前步骤: 对应当前是第几条字幕

  • 字体大小: 文字的大小

  • 文本颜色: 文字的颜色

  • 背景颜色: 字幕背景颜色

  • 背景贴图: 字幕背景贴图

  • 启用公告牌:开启后,步骤提示面板会一直朝向主相机

  • 结束时自动关闭:启用后,在步骤切换到最后一步再点击下一步时,节点自动隐藏

  • 面板缩放比:按比例对面板大小进行缩放

  • 宽度:面板宽度

  • 高度:面本高度

  • 渲染优先级:调整渲染优先级,当和其他半透明的物体显示有冲突时可以调整这个参数使面板显示在更前或更后方

4.插件信号

  • finished:最后一步的步骤切换按钮被点击时发出

  • step_changed(current_step):点击除了最后一步以外的步骤切换按钮时发出,参数为点击时的当前步骤

step_plugin_signal

菜单选择

1.介绍

支持3种菜单样式以及横向或纵向面板布局,用于在3D空间中需要进行选择操作的物体、场景等。

create_3dmenu

2.创建

在资源商店中下载导入**菜单选择**,点击 快速创建→平面控件→菜单选择 进行创建,创建完成后节点会在右侧 场景树 中显示。

create_3dmenu

3.属性设置

  • 标题:输入菜单标题文字。默认:请输入标题。

  • 标题字体大小:更改标题文字大小

  • 标题文本颜色:设置标题文本颜色

  • 选项数量:默认为3,用户可自行调整数量

  • 选项文本:输入选项文字

  • 选项字体大小:更改选项字体大小

  • 选项文本颜色:设置选项字体文本颜色

  • 启用公告牌:开启后,会一直朝向主相机

  • 菜单样式:默认蓝色科技。用户可选其他风格的UI界面,例如:蓝色科技、红色应急、绿色活力

  • 面板布局:默认横向布局。横向布局和纵向布局均默认显示3个选项

  • 面板不透明度:

  • 面板缩放比:控件大小

  • 宽度:面板宽度

  • 高度:面版高度

  • 渲染优先级:渲染优先级,数字越大优先级越高

4.信号用法

button_pressed(index:var)

当被点击时触发,用于定义每个按钮的独立事件,括号中的index(int类型)代表按钮序号

signal

操作演示

  • 1.点击快速创建→平面控件→菜单选择 进行创建,创建完成后节点会在右侧 场景树 中显示;

create_3dmenu

  • 2.选择空间节点,并添加可视化脚本;

3dmenu_create_visualscripts

  • 3.选择场景树中的菜单选择节点,单击场景选项卡右侧的节点选项卡,选择info_3d_menu.is下面的button_pressed(index:var)信号;

show_3dmenu_signal

  • 4.双击button_pressed(index:var)信号,在弹出的对话框中选择菜单选择节点;

3dmenu_link_signal

  • 5.可视化脚本中自动显示_on_菜单选择_button_pressed信号;

show_visualscript_3dmenu_signal

  • 6._on_菜单选择_button_pressed信号常与switch连用;

3dmenu_interactivelogic

注意事项

  • Switch的使用方法

  • 1.选择交互编辑器中的_on_菜单选择_button_pressed信号右侧的白色三角,将按住ctrl键拖动鼠标,在弹出来的搜索可视化脚本节点中选择Switch函数

create_switch

  • 2._on_菜单选择_button_pressed信号与switch连用默认效果

switch

  • 3.switch参数调整

switch_arguments

  • 4.将_on_菜单选择_button_pressed信号下的index参数与switch函数的第一个参数的线断开,与input done连接

3dmenu_signal_link_switch_inputdone

  • 5.调整switch参数后的效果

3dmenu_interactivelogic

人物对话

1.介绍

用于快速创建人物对话,支持对话内容和对话顺序的编辑,以及单人对话的连续切换或多人轮番对话

3dtalk

2.创建

在资源商店中下载导入**菜单选择**,点击 快速创建→平面控件→人物对话 进行创建,创建完成后节点会在右侧 场景树 中显示。

create_3dtalk

3.属性设置

  • 人物:用于指定要进行对话的多个人物

  • 文本内容:每条对应一句字幕;初始显示3条,且有默认文本,可以增加修改

  • 当前对话:对应当前显示的是第几条对话

  • 字体大小:用于设置对话内容的字体大小

  • 文本颜色:用于设置对话内容的字体颜色

  • 背景颜色:用于设置面板的背景颜色

  • 背景贴图:用于设置面板的背景贴图

  • 启用公告牌:开启后,会一直朝向主相机

  • 结束时自动关闭:启用后,在步骤切换到最后一步再点击下一步时,节点自动隐藏

  • 对齐:默认居中对齐。用于设置对话内容的对其方式

  • 面板缩放比:按照原来的比例进行面板大小的调整

  • 宽度:面板宽度

  • 高度:面版高度

  • 渲染优先级:渲染优先级,数字越大优先级越高

4.插件信号

  • finished:到最后一步时发出

  • step_changed(current_talk:var):人物对话切换时发出,参数为当前对话

3dtalk-signal

操作演示

人物对话插件的操作演示详见如下gif:

3dtalk_useStep