【PTGui、Pano2VR6、UE4】VR全景拍摄及漫游交互制作操作实例(更新中)

一、基本思路

首先进行VR全景拍摄,获取高质量的全景图像;然后使用PTGui进行图像拼接,确保图像的连续性与准确性;接着利用Pano2VR6进行VR漫游的制作,添加交互元素与多媒体内容;最后进行作品的调试与优化,确保漫游体验的流畅性与趣味性。

二、案设计(主要软件工具、设计流程图)

主要软件工具:PTGui、Pano2VR6、图像处理软件(如Photoshop)。

设计流程图:

场景选择与拍摄 → 图像导入与预处理 → PTGui图像拼接 → Pano2VR6漫游制作 → 交互元素添加 → 作品调试与优化 → 完成作品。

三、具体拍照制作过程

1、收集相关素材资料规划分析全景拍摄

收集相关素材资料规划分析全景拍摄、构思场景选择、拍摄应用场景、设备选拍摄流程拍摄角度选择等。

场景要求:

1.场景要求制作3-5个,要求同时存在室内与室外环境,并且点与点之间的距离不会太远,导致画面跳脱

2.要有主题性,突出表达内容

2、VR全景拍摄实践

拍摄过程:选择合适的拍摄场景,设置相机参数,进行VR全景拍摄。要求学生注意拍摄过程中的光线、色彩、稳定性等因素,确保拍摄质量。

3、使用PTGui进行全景图像拼接

图像拼接:使用PTGui加载拍摄的图片,进行对齐与拼接,调整参数优化拼接效果。

用鼠标点击图像编号栏内的图像编号,可以随时切换到该图像的预览图。

另一类是底部中间蓝色方框中的蒙版工具,对左右边的预览图都有效。蒙版工具也有上下两行,必须配合使用。

①画笔工具。红色代表删除;绿色代表强制显示;无色圆圈是橡皮,可以随时擦除不需要的红色或绿色部分。

②画笔和漆桶。画笔按照笔尖大小涂抹;漆桶可以填充个封闭区域。

(1)调试过程中出现的问题及相应解决办法

两张图片相同处增加控制点,如果是天空无建筑物可在全景编辑器中直接移动图片

图像拼接出现错位:检查相机参数设置,重新拍摄或调整PTGui拼接参数

拼接问题一:两张图片都照到人,开启混合模式导致人物模糊

解决办法:蒙版(红色:排除内容,混合全景中隐藏内容;绿色:包含内容,强制内容在混合全景中是可见的;白色:擦除器,擦除蒙版,移除红色或绿色绘画区域)

4、使用Pano2VR6制作VR漫游

漫游制作:在Pano2VR6中导入拼接好的全景图像,设置场景参数,规划漫游路径,添加交互元素。根据需要对漫游作品进行配置与优化,如添加背景音乐、视频等多媒体内容。

内容要求:

①使用热点将4-5张图片链接起来,热点放置位置明显,将热点换成自定义的图标

增加小地图

增加自定义按钮

④增加背景音乐

(1).热点制作:

打开皮肤:

添加交互热点模板:在交互热点功能中选择“添加交互热点模板”在画布的适当位置(通常推荐边缘位置)点击鼠标以添加热点热点模板会默认有一个ID,如“Hotspot1”,可以对其进行重命名以便于管理。

设置热点样式

点击“添加图片”来设置热点的样式在画布空白处单击鼠标,选择提前准备好的图片作为热点样式。将图片拖动到适当位置以匹配热点的位置。在树状列表中将图片拖动到热点模板的子级下。

给热点添加动作

根据需要,给热点模板(如Hotspot1)添加动作。这些动作可以包括跳转到其他URL、切换场景、显示图片、视频或信息等。在热点属性参数区设置皮肤ID(如Hotspot1)以及其他相关属性。

选择上新建的皮肤,将皮肤id选择上

(2).制作按钮

添加按钮在皮肤编辑器中,找到“添加按钮”或类似的选项。点击后,你可以在画布上点击鼠标或拖动鼠标来定义按钮的位置和大小。你也可以通过导入按钮图片的方式,直接添加已设计好的按钮。

设置按钮样式选中添加的按钮,你可以在属性面板中设置按钮的样式,如背景色、边框、阴影等。如果有需要,你还可以调整按钮的透明度、旋转角度等。

添加动作在按钮属性面板中,找到“动作”或“交互”相关的设置。点击“添加动作”或类似的选项,你可以为按钮添加各种动作,如点击后跳转到另一个场景、播放声音、显示提示信息等。根据需要,你还可以设置动作的触发条件,如鼠标单击、双击、长按等。

制作完后打开皮肤:

(3).制作地图

导入自定义地图图片:如果你有自定义的地图图片(如平面图或卫星图),可以将其作为背景添加到全景图中。

使用交互功能:利用Pano2VR的交互功能,你可以添加更多的地图元素,如路径、标记等。将图片拖动到地图里面来创建一个可点击的路径,当用户点击路径上的某个点时,全景图会自动旋转到该点的位置。

进入皮肤设置设置地图,进行框选

设置地图参数

(4)、调试过程中出现的问题及相应解决办法

拼接问题二漫游作品加载缓慢:优化全景图像质量,减少多媒体内容的使用,提高加载速度。

拼接问题三交互元素响应不灵敏:检查元素设置与代码,调整交互逻辑。

5、在UE中使用材质

(1).创建项目

步骤一:新项目类型选择游戏

步骤二:模板选择空白

步骤三:项目储存的位置,可选择电脑富裕的盘,尽量不要储存在 C 盘里,路径一 定要是英文的;项目名称使用英文,拼音全拼写也行;选择好储存的位置即可点击创建项目。

(2)创建材质球

步骤一:项目储存的位置,可选择电脑富裕的盘,尽量不要储存在 C 盘里,路径一 定要是英文的;项目名称使用英文,拼音全拼写也行;选择好储存的位置即可点击创建项目。

步骤二:点击鼠标右键,新建文件夹,命名 Texture(纹理),右键选择在浏览器中显示,将全景图复制到文件夹内(全景图的命名必须是英文或拼音全拼)。

步骤五:粘贴到文件夹后,UE4 右下角将提示内容文件的变更,选择导入。

步骤三:新建文件夹,命名 Material,文件内点击右键创建材质,命名 M_Texture (材质命名格式基本都是 M_xxxxxx)。

步骤四:双击进入材质球,在材质编辑面板按 T 建加鼠标左键,调出 Texture Sample(纹理样本)

步骤五:在右下角的细节面板点击左图 yefei_1 的位置,搜索导入的任意一张图片名字,即可赋予材质;

步骤六:鼠标右键点击 Texture Sample 转换为参数(也就是转换为变量),重新命名 Texture 并连到材质的自发光。

步骤七:选择 M_Texture 在细节面板将双面打勾后保存(左上角)

步骤八:回到主界面基础面板选中球体拉进场景中,细节面板变换→缩放输入 5000,将球体放大 5000 倍

步骤九:在 Material 找到刚刚制作好的 M_Texture 赋予到细节面板材质中。

步骤十:可将除了 Sphere 之外的删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

条件筛选1-4题(30 天 Pandas 挑战)

条件筛选 1. 相关知识点1.1 query条件或查询1.2 query条件与查询1.3 存在查询及列名修改1.4 条件查询,相等1.5 删除重复值1.6 排序 2. 题目2.1 大的国家2.2 可回收且低脂的产品2.3 从不订购的客户2.4 文章浏览 I 1. 相关知识点 1.1 query条件或查询 # |或 world.q…

CUDA编程基础

文章目录 1、GPU介绍2、CUDA程序进行编译3、CUDA线程模型3.1、一维网格一维线程块3.2、二维网格二维线程块3.3、三维网格三维线程块3.3、不同组合形式 4、nvcc编译流程5、CUDA程序基本架构6、错误检测函数6.1、运行时API错误代码6.2、检查核函数 7、CUDA记时7.1、记时代码7.2、…

Google Earth Engine(GEE)——控制台ui.Textbox复制你想要的textbox

结果 函数: ui.Textbox(placeholder, value, onChange, disabled, style) A textbox that enables the user to input text information. Arguments: placeholder (String, optional): The placeholder text to display when the textbox is empty. Defaults to none. …

VBA语言専攻T3学员领取资料通知0706

T3学员领取资料通知0706 各位学员∶本周MF系列VBA技术资料增加641-645讲,T3学员看到通知后请免费领取,领取时间7月5日晚上19:00-7月6日晚上19:00。本次增加内容: MF641:前个窗体组合框选项联动下个组合框 MF642:工作表中数据选项联动下个数据验证 MF…

技术驱动旅游创新!深度解析景区导览小程序的地图渲染与AR导航技术

随着现代生活节奏的加快,人们在外出旅游时更倾向于轻便出行,携带导览地图已成为过去。然而,面对景区广阔的面积和众多景点,游客常常感到迷茫,难以快速定位到自己所需的地点。景区导览小程序让游客只需搜索景区名称&…

人工智能系列-NumPy(二)

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 链接数组 anp.array([[1,2],[3,4]]) print(第一个数组:) print(a) print(\n) bnp.array([[5,6],[7,8]]) print(第二个数组:) print(b) print(\n) print…

zigbee笔记:六、看门狗定时器(Watch Dog)

一、看门狗基础 1、看门狗功能: 由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误等,程序运行可能会陷入死循环。程序的正常运行被打断,由单片机控制的系统无法继…

Motion Guidance: 扩散模型实现图像精确编辑的创新方法

在深度学习领域,扩散模型(diffusion models)因其能够根据文本描述生成高质量图像而备受关注。然而,这些模型在精确编辑图像中对象的布局、位置、姿态和形状方面仍存在挑战。本文提出了一种名为“运动引导”(motion gui…

【数据库了解与学习】

1.下载所需版本安装包 1.1将所需文件压缩包以及安装包放在你选择的任意一盘,新建一个没有文字和空格的文件夹 1.2双击打开安装包,选择Custom自定义模式然后点击右下方的Next 1.4三连点击1,再点击箭头出现3,选中3出现4,…

Infinitar链游新发展新机遇

区块链游戏市场在近年来经历了显著增长,吸引了大量的投资和关注。随着加密货币和NFT(非同质化代币)概念的普及,越来越多的投资者、游戏开发者和看到了区块链技术在游戏领域的应用潜力,纷纷涌入市场。区块链游戏的用户量…

Aigtek功率放大器的参数及应用是什么

功率放大器是电子电路中的重要组成部分,用于将输入信号的功率增加到更高的水平。它们在各种电子设备和应用中发挥着关键作用。下面Aigtek安泰电子将介绍功率放大器的主要参数以及它们在不同领域的应用。 1.功率放大器的基本参数 增益 功率放大器的增益是指输出信号的…

android应用的持续构建CI(五)-- 应用管理

一、ER设计 渠道:应用发布的渠道,To B的话,可能是学校、租户等;To C的话,渠道则是不同厂商的应用市场。审核:jenkins构建应用完成后,管理后台生成应用的审核记录。 下面是每个实体详细的字段&a…

昇思25天学习打卡营第17天(+1)|Diffusion扩散模型

1. 学习内容复盘 本文基于Hugging Face:The Annotated Diffusion Model一文翻译迁移而来,同时参考了由浅入深了解Diffusion Model一文。 本教程在Jupyter Notebook上成功运行。如您下载本文档为Python文件,执行Python文件时,请确…

Git仓库介绍

1. Github GitHub 本身是一个基于云端的代码托管平台,它提供的是远程服务,而不是一个可以安装在本地局域网的应用程序。因此,GitHub 不可以直接在本地局域网进行安装。 简介:GitHub是最流行的代码托管平台,提供了大量…

昇思MindSpore学习笔记4-02生成式--DCGAN生成漫画头像

摘要: 记录了昇思MindSpore AI框架使用70171张动漫头像图片训练一个DCGAN神经网络生成式对抗网络,并用来生成漫画头像的过程、步骤。包括环境准备、下载数据集、加载数据和预处理、构造网络、模型训练等。 一、概念 深度卷积对抗生成网络DCGAN Deep C…

STM32+ESP8266(ESP32)+MQTT+阿里云物联网平台

1、阿里云物联网平台 - 阿里云物联网平台配置 产品-设备-编辑物模型-设备端开发-查看上报数据 在产品上添加物模型,然后设备是继承自产品的,因此也具有物模型 添加产品、添加设备、产品上添加物模型 - 使用IOT Studio 绘制界面显示温度、湿度、灯开…

Tomcat(+Servlet)笔记+代码

Tomcat安装和配置 安装在不含中文的路径,路径不能太长 Apache 官网👇 Apache Tomcat - Welcome! 配置部分 点击下图红框处,找到Tomcat安装位置 添加项目的文件 配好的话,红框这里有个猫 代码部分 新建jsp文件,里…

线程(基础概念)

文章目录 一、线程和进程?二、线程初识2.1 线程属性2.2 线程的调度策略2.3 线程的优先级2.3 线程实验 一、线程和进程? 我们经常描述进程(process)和线程(thread): 进程是资源管理的最小单位&a…

昇思25天学习打卡营第07天 | 函数式自动微分

昇思25天学习打卡营第07天 | 函数式自动微分 文章目录 昇思25天学习打卡营第07天 | 函数式自动微分函数与计算图微分函数与梯度Stop GradientAuxiliary data 神经网络梯度计算总结打卡 神经网络的训练主要使用反向传播算法,首先计算模型预测值(logits&am…

科普文:微服务之服务网格Service Mesh

一、ServiceMesh概念 背景 随着业务的发展,传统单体应用的问题越来越严重: 单体应用代码库庞大,不易于理解和修改持续部署困难,由于单体应用各组件间依赖性强,只要其中任何一个组件发生更改,将重新部署整…