分享
基于3D虚拟场景的多元社交平台设计与实现_丁波壬.pdf
下载文档

ID:2563796

大小:2.43MB

页数:5页

格式:PDF

时间:2023-07-12

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 虚拟 场景 多元 社交 平台 设计 实现 丁波壬
2023.6电脑编程技巧与维护1概述1.1项目背景随着云计算、5G网络和虚拟现实等计算机技术的快速发展,“互联网+”战略已经深度融入各行业中。因此,基于虚拟形象和虚拟场景的社交应用迅速增长。与传统社交软件不同的是,这些应用是基于3D模型、虚拟人物形象和虚拟场景建立的,从而在一定程度上增强了用户的代入感并提供了视觉冲击。通过建立更有趣的交互功能,改变了传统的平面社交体验,并为用户带来了更深层次的交互感。总体而言,新兴的社交应用呈现出一种推陈出新的趋势。校园星系作为一个基于3D虚拟场景的多元社交平台,在移动应用平台的基础上依托Unity3D引擎作为虚拟现实开发平台和3DMax三维场景的建模工具,形成了丰富而生动的虚拟形象模型和虚拟场景。用户可以创建自己的个人形象和具有不同功能的虚拟场景,而创新的交互功能则创造了生动的角色、多元的场景和有趣的交互。根据不同需求构建不同的功能场景,并结合人与人之间的社交网络,以及提供的交互功能,创造了一个基于虚拟场景的多元社交平台。1.2产品意义分析在进行基于3D虚拟场景的多元社交平台的设计时,可以针对同类产品所存在的问题进行解决并对所要设计的新产品的具体意义进行综合分析。后续的产品可以在前者的基础上进行补足,同时有一定程度上升级,从而使产品自身特点被放大并进行整体上的升级。因此,基于虚拟场景的多元社交平台设计意义分析的主要角度如下。社交媒体已成为人们日常生活中的重要组成部分,但传统社交平台往往只提供平面化的社交体验并存在互动模式单一的缺点,难以让用户产生代入感和体验沉浸感,进而导致交互体验缺失,无法满足用户不断变化的需求。这种平台在创新性、用户体验和实际意义方面存在不足。相比之下,逐渐涌现的新型社交平台、采用大量的3D模型,增强交互功能,为用户带来视觉上的冲击,在一改往日平面社交画风的同时,丰富社交体验,具有创新性强、体验感强、交互丰富等优点,可以给用户带来多元化的社交体验,同时具有一定实际意义。新型社交平台不仅给用户带来了新颖的社交体验,还为用户创造了实际的价值。传统的社交平台只能在平面上提供情感价值,而无法进一步深化情感体验和情感互动,或带来更多的实际价值,存在诸多弊端和不便。新型社交平台通过3D模型和交互设计带来的代入感和体验感解决了传统社交平台不能满足用户深度交互或交互体验感差的问题。新型社交平台可以利用诸多技术,例如,Unity3D提供的事件触发器、虚拟交互等技术为用户带来了更多的互动和交流机会。这些功能的不断升级和创新,提高了平台的价值,也为用户带了深层次的基金项目:吉利学院省级大学生创新创业训练计划项目,项目编号:S202212802018X,项目名称:校园星系基于3D星球场景的多元社交平台。作者简介:丁波壬(2001),男,本科,研究方向为计算机软件;胡荣(1985),女,通信作者,硕士,副教授,研究方向为大数据技术、算法分析;李禹凤(2002),女,本科,研究方向为计算机软件。基于 3D 虚拟场景的多元社交平台设计与实现丁波壬,胡荣*,李禹凤(吉利学院智能科技学院,成都641402)摘要:介绍了一种基于 3D 虚拟场景的多元社交平台,旨在探究其设计结构与技术特点,并分析了平台在实际应用中的优势和局限性。相较于传统的社交平台的平面化社交,新型的社交平台具有更为丰富的交互功能和更好的用户体验度。该平台采用分层式设计结构,以 MySQL 和 Photon 云技术作为数据服务层的基础来为应用层提供数据支持,通过 Unity3D 引擎、3DMax 和 Android 相结合完成对平台核心操作所在的业务逻辑层的支持,具有较强的技术性和创新性。通过引入虚拟形象功能、虚拟场景功能、交互功能模块来增强用户社交代入感、提高沉浸感,满足用户对不同场景功能的需求,丰富交互体验,实现多元化的社交体验,并具有一定的实际意义。关键词:3D 虚拟场景;多元社交平台;分层式设计;Unity3D 引擎153DOI:10.16184/prg.2023.06.0162023.6电脑编程技巧与维护社交体验和一定的实际意义。2平台思路与方法平台是基于虚拟场景实现多元交互的社交平台,允许用户自定义虚拟形象来增强用户的沉浸感,使用多种3D模型创建具有不同功能的虚拟场景来满足用户的多维需求。为实现这一目的,该平台采用分层设计的思路,分为业务逻辑层进行核心操作的实现;在应用支撑层进行模型处理,虚拟引擎支撑;在数据服务层进行数据的存储。分层设计便于后续迭代扩展开发和产品的维护。软件分层如图1所示。该平台分为云端和用户端两个不同的部分。用户端为用户提供多元的社交体验,定义虚拟形象,创建虚拟场景,同时进行社交;而云端是管理者的入口,是对平台的数据进行管理的场所,可以管理用户的数据及用户创建的虚拟场景等。该平台主要包括如下6个方面的功能。(1)注册/登录。用户可以使用自己的手机号码进行注册,平台系统将以短信的方式发送验证码给用户,用户输入验证码且经平台验证无误,就可以使用该手机号码登录平台,然后跳转到初始的自定义虚拟形象界面,待虚拟形象创建完成后,才可以进行后续其他操作。(2)创建虚拟形象。用户可以选择不同的服饰、配饰模型来自定义在平台社交中的虚拟形象。该平台会设定一些基础人物的动作动画,例如,走、跑等一些趣味表情和肢体动作,配合3D虚拟人物形象来表现用户的特点。(3)创建虚拟场景。用户可以使用平台提供的多种3D模型来创建具有不同功能的虚拟场景。创建的虚拟场景中,用户可以邀请其他用户,在场景内实现社交活动等功能。创建或者参与的虚拟场景,可以在虚拟场景管理中心进行查看和管理。(4)社交匹配。该平台采用了一种匹配机制,结合用户输入的标签和兴趣,从其他用户的档案中识别潜在的匹配对象。系统将匹配信息推送给用户以进行下一步操作。(5)好友系统。用户可以通过匹配机制或者在虚拟世界通过社交认识、添加其他用户作为好友,在好友系统中查看好友的信息和状态,并进行好友管理。(6)个人空间。用户通过个人空间功能修改基础信息,在社交平台中发布自己的状态,同时也可以对个人平台中的虚拟形象进行修改、更换,或者在安全设置中更改账户的密码,并对创建或参与的虚拟场景进行查看管理。平台整体功能如图2所示。3平台的功能模块设计与实现平台开发的主要步骤包括:(1)进行3D模型的设计与建模,完成虚拟形象功能模块,让用户可以在平台中自定义虚拟形象,并且创建人物基本动画,例如,走、跑、打招呼及一些趣味动作,供用户表现自己。(2)完成虚拟场景功能模块,让用户可以选择不同的3D模型来搭建成具有不同功能的虚拟场景,同时定义场景的功能属性,场景搭建完需要赋予物体相应的物理属性进行场景碰撞检测、事件触发等;(3)完成社交系统功能模块,实现人与人之间的交互,人与物体、场景的交互,匹配机制。3.1模型的设计与建模3D模型的设计和建模是多元社交平台的关键组成部分,旨在实现平台的互动性和参与性。它包括使用3DMax软件创建三维模型;使用其他图像处理软件(如PhotoShop)进行真实感渲染增强模型真实感,增强模型的真实感(如纹理映射),提升用户的体验。此外,场景照明构建进一步增强用户的沉浸感,并添加了补充细节,最后将创建的3D模型导入Unity3D中使用。模型的设计与创建是决定交互性、体验感、直观性、真实感图1软件分层图2平台整体功能3DMaxMySQL业务逻辑层交互功能虚拟场景虚拟形象应用支撑层Unity3DPhotonAndroid数据服务层Photon云基于3D虚拟场景的多元社会平台云端虚拟功能模块资源管理模块虚拟框架场景功能模型资源场景管理用户信息用户端虚拟功能模块交互功能模块虚拟形象虚拟场景匹配机制场景交互虚拟活动1542023.6电脑编程技巧与维护等交互功能实现效果的基本因素。校园星系的3D建模主要包括角色模型设计和建模,以及不同功能场景中的物体对象设计和建模,以确保用户有足够的模型可以使用。3.2虚拟形象功能模块用户通过平台预设的多种3D服饰和饰品,自定义他们在平台中的虚拟人物形象,从而参与平台不同虚拟场景内的社交,同时完成虚拟人物形象的动作动画,例如,走、跑等趣味表情动画和肢体动作,来丰富表达方式。通过Unity3D内置的角色控制器,为用户设定的虚拟人物形象进行角色创建,并添加角色控制器来操控角色的行为。使用ZegoAvatarSDK创建虚拟形象,核心代码如下。初始化AvatarService/引入头文件#import/初始化AvatarService-(void)initAvatarService:(NSString*)license/创建configZegoServiceConfig*config=ZegoServiceConfig al-loc init;/将获取到的License文件传入config.license=license;/指定AI模型的路径sconfig.AIPath=NSBundlemainBundlebundlePathstringByAppendingString:/assets/AIModel.bundle;/监听初始化状态,addServiceObserver需要在主线/程执行!ZegoAvatarService sharedInstance addServiceOb-server:self;/初始化AvatarServiceZegoAvatarServicesharedInstanceinitWithConfig:config;/初始化AvatarService-(void)initAvatarService:(NSString*)license/创建configZegoServiceConfig*config=ZegoServiceConfig al-loc init;/将获取到的License文件传入config.license=license;/指定AI模型的路径config.AIPath=NSBundle mainBundle bundlePathstringByAppendingString:/assets/AIModel.bundle;/监听初始化状态,addServiceObserver需要在主线/程执行!ZegoAvatarServicesharedInstanceaddServiceOb-server:self;/初始化AvatarServiceZegoAvatarServicesharedInstanceinitWithConfig:config;/创建虚拟形象-(void)initAvatar/创建Helper,传入基础资源的路径NSString*resourcePath=NSBundle mainBundlebundlePathstringByAppendingString:/assets/base.bundle;_characterHelper=ZegoCharacterHelper alloc init:resourcePath;/设置素材资源包地址,如果是动态下载,则传入下载的/目标目录NSString*packagesPath=NSBundle mainBundlebundlePathstringByAppendingString:/assets/Pack-ages;_characterHelper setExtendPackagesPath:packages-Path;/使用默认形象,以男性角色为例_characterHelpersetDefaultAvatar:MOD-EL_ID_MALE;/创建AvatarView_avatarView=ZegoAvatarService sharedInstancecreateAvatarView:CGRectMake(0,0,200,200);self.view addSubview:_avatarView;/角色上屏,请保证上屏之前设置过正/确的AvatarJson数据,即调用过setDefaultAvatar或/setAvatarJson方法。_characte

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开