(个人)太极拳学习系统创新实训第十一周总结

2023-12-13 21:40

本文主要是介绍(个人)太极拳学习系统创新实训第十一周总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

工作总结:

这是一个基于人机交互的VR模式下的太极拳学习系统,因此交互体验显得尤为重要。为了让用户有更好的交互体验,我做了很多工作和尝试,我一共完成了两种交互方式,两种类型的界面交互,三种用户界面,比较总结选择对用户最友好的方式。

在参与实训项目之前我对UE4零基础,所以对我来说这是一个,在学习中实践,在实践中学习的过程。

基于时间线工作总结:

  • 参与阅读论文,选择动作匹配的算法和在3D MAXS中制作场景以及寻找模型素材。
  • 学习并实现UE4中三种界面:UMG、HUD、3D Widget
  • 实现一种交互方式:VR中的射线交互
  • 完成一版界面设计及其交互蓝图:共18个界面的设计及其蓝图交互逻辑。包括点击触发、关卡跳转和重新加载、页面转换等
  • 倒计时动画及其蓝图实现
  • 将二维的界面转换成可以在VR模式下显示的三维界面,并重新实现三维界面下的蓝图逻辑。
  • 第二种交互:体势交互及测试,通过手和头碰撞判断实现交互。
  • 第二版界面:扁平化高斯模糊界面
  • 完成第三版版界面设计,优化界面变一个界面为主次界面,将平面显示变为弧形显示。
  • 完成第四版界面,也就是现在使用的交互界面。


3D MAXS中搭建场景:


完成三种类型的交互界面:为了搭建整个系统的交互体系,作为准备工作我完成三种UE4的交互界面。


关于VR界面:

我首先查看了相关资料,研究现在流行的VR游戏的交互界面是怎么实现的。

ui主要以界面为主,比较在意界面的功能性和实用性,vr因为沉浸式体验方式的原因,更加注重交互体验,界面起辅助

vr自学的内容却少之又少,很难找到vr设计自学教程和内容。因为整个行业都没形成规模效应作用。

一开始我想完成一种跟随人物移动移动的,不会占用太多屏幕空间的界面,默认状态下只在屏幕的左上角



Sence Capture 2D捕获屏幕中的信息的部分

首先我新建一个Sence Capture 2D,它是一个观众摄像机,用来捕获场景信息。它经常被用来做小地图,或者显示场景中某个角度的画面,是ue4 4.17新添加的功能。

然后新建一个“渲染目标”

可以看到,当我将摄像头放置在如图位置:

渲染目标也就是渲染出来的图像:

但是为什么会模糊呢,是因为我添加了高斯模糊:

首先将这个“渲染目标”选择为Sence Capture 2D的texture target,然后改变capture source为LDR模式。

改变Depth of field的method和Depth。


根据umg中控件的位置,在photoshop中刷一张灰度图出来,在需要模糊的地方刷成纯白色,其余刷成纯黑色作为mask遮罩。

为渲染目标创建材质:

打开这个材质,改变Material Domain和Blend Mode


蓝图部分:

用interpolate线性差值render target和纯黑色,用OneMinus节点反转灰度图作为alpha遮罩确定blur区域接入base color通道,再将这张反转后的灰度图接入Opacity通道,编译保存后就可以啦。








这篇关于(个人)太极拳学习系统创新实训第十一周总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/490071

相关文章

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默