【Unity】实用功能开发(一)实现在UI中用RawImage实时展示3D模型(背景透明,并通过UI防止3D场景遮挡)并可以通过分层完成:游戏中的人物状态展示界面,小地图,人物实时头像状态等功能

这篇具有很好参考价值的文章主要介绍了【Unity】实用功能开发(一)实现在UI中用RawImage实时展示3D模型(背景透明,并通过UI防止3D场景遮挡)并可以通过分层完成:游戏中的人物状态展示界面,小地图,人物实时头像状态等功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有时由于项目效果需要,部分功能的实现受到阻碍,这里收集一些已实现的思路和方法,每次会记录大致需求和遇到的问题,如果有更好的想法,欢迎评论区讨论!!!

目录

功能描述:

需求描述:

实现步骤:

①为需要展示的内容区分层级:

②在场景中添加一个摄像机,并做以下修改:

③在资源中新建一个RenderTexture

⑤设置UI界面


功能描述:

在场景中特定位置加摄像机,渲染出RenderTexture,UI中用RawImage实时展示3D模型,背景透明,并通过UI防止3D场景造成的遮挡,又能使用脚本完成模型的3D操作或展示效果

【通过对不同内容的分层,可完成:游戏中的人物状态展示界面,小地图界面,头像状态栏等需要实时展示3D模型信息的功能】

需求描述:

项目是一个整体物品,如:建筑,需求是要在点击建筑的某些特定地方时,展示对应的特有结构模型,若是放在3D场景下,不用特定摄像机渲染展示,会受到距离和遮挡的影响。

所以,需要在场景中特定位置加摄像机,渲染出RenderTexture,UI中用RawImage展示3D模型,这样更方便于我们后期的展示

实现步骤:
①为需要展示的内容区分层级:

找到Inspector中的Layer选项,选择【Add Layer】

unityui上显示角色,Unity,unity,游戏引擎,游戏,3d,ui,图形渲染

在空位中输入所需的层级名称:本次以“Temp”为例

unityui上显示角色,Unity,unity,游戏引擎,游戏,3d,ui,图形渲染

点击其他位置自动保存,再查看Layer选项,可以看到已添加:

unityui上显示角色,Unity,unity,游戏引擎,游戏,3d,ui,图形渲染

将需要使用摄像机展示的对象层级都改为Temp,在需要的父节点上修改层级,会弹出弹窗:

unityui上显示角色,Unity,unity,游戏引擎,游戏,3d,ui,图形渲染

选择【Yes】即可将子节点的层级全部修改完毕

②在场景中添加一个摄像机,并做以下修改:

按需求调整摄像机的角度和位置,使画面中合适的显示自己所需的效果

别忘了将新建摄像机的Audio Listener组件删除,否则会与主摄像机冲突

在新建摄像机的Camera组件上,将Culling Mask选项修改为只拍摄到想要的层级“Temp”。         并修改Clear Flags选项为【Solid Color】去除最后在RawImage上多余的背景

unityui上显示角色,Unity,unity,游戏引擎,游戏,3d,ui,图形渲染

③在资源中新建一个RenderTexture

其中的Size属性可以设置像素,建议数字相同,数字越大,摄像机所摄画面展示在UI上时越不容易失真

unityui上显示角色,Unity,unity,游戏引擎,游戏,3d,ui,图形渲染

④设置摄像机,使得成像渲染在对应RenderTexture上

将刚刚新建的RenderTexture拖拽至相机的TagetTexture选项中

unityui上显示角色,Unity,unity,游戏引擎,游戏,3d,ui,图形渲染

unityui上显示角色,Unity,unity,游戏引擎,游戏,3d,ui,图形渲染

⑤设置UI界面

新建RawImage,将刚刚的RenderTexture拖拽至其Texture选项中

按需修改RawImage的大小和RenderTexture的像素

便可以在UI中展示场景中所需要的3D对象了~~~文章来源地址https://www.toymoban.com/news/detail-765315.html

到了这里,关于【Unity】实用功能开发(一)实现在UI中用RawImage实时展示3D模型(背景透明,并通过UI防止3D场景遮挡)并可以通过分层完成:游戏中的人物状态展示界面,小地图,人物实时头像状态等功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 短视频app开发:如何实现实时短视频录制功能

    在当今的移动互联网时代,短视频app已经成为了人们生活中不可或缺的一部分。短视频app的数量和用户量都在不断增加。如今,越来越多的人开始关注短视频app的开发,尤其是如何实现实时短视频录制功能。本文将分享如何开发短视频app并实现实时短视频录制功能。 短视频

    2023年04月23日
    浏览(37)
  • 基于Javaweb实现ATM机系统开发实战(八)实时查询余额功能实现

    老规矩,先看前端页面,把前端页面上没有的表达式都删掉:  创建servlet接受和处理请求: 接口: 实现类: 数据层: 测试一下就发现余额查询成功啦~  

    2024年02月16日
    浏览(60)
  • 【Unity InputSystem】实用指南:在PC端(鼠标与键盘)、手机端(触摸屏)、主机手柄上同步实现角色移动与跳跃功能

    随着Unity的不断发展,开发者对于项目的输入系统要求也日益提高。在进行多平台适配和跨平台移植时,常常需要改变输入系统,这给开发者带来了不少困扰。而Unity官方推出的InputSystem插件,则是为了解决这一问题而推出的全新输入方式。 相较于旧版的InputManager,InputSystem的

    2024年03月13日
    浏览(54)
  • thinkphp websocket 开发实时聊天系统的用户群组与订阅功能实现 (一)

    PHP开发实时聊天系统的用户群组与订阅功能实现 在当今社交互联网时代,实时聊天系统已经成为人们日常交流的重要工具。为了提供更好的用户体验,我们需要实现用户群组与订阅功能,使得用户能够方便地创建和加入群组,并且能够订阅感兴趣的内容。 本篇文章将介绍如

    2024年02月07日
    浏览(45)
  • 【Unity InputSystem】实用教程-实现角色移动跳跃功能(Input System在PC端鼠键!手机端触摸屏!主机手柄!三端使用教程)

    在上一篇文章当中我们手把手的跟大家分享了InputSystem的基础操作(如何使用5种不同的方式获取到InputSystem种的输入检查信息)。那么接下来我们继续分享一下在我们获取到InputSystem输入信息后,如何使用检测到的信息实现我们对应的输入功能。 本次我们使用的Unity编辑器版本为

    2024年02月11日
    浏览(59)
  • Unity使用SteamVR2.0实现基本功能(瞬移,抓取物品,射线点击,UI交互等)

     把SteamVR的Player预制件拖到一个空场景,删掉场景内原本的相机 新建一个Plane,当做地板 找到SteamVR的人物瞬移控制器  Teleporting ,把它拖到场景里  我们需要在可以移动的区域,也就是碰撞器上,挂 TeleportArea 脚本 这个脚本会自动修改你的材质球 locked 该区域是否可以移动 markerAc

    2024年02月02日
    浏览(58)
  • Unity实用功能:存储本地文件

       算是一个比较通用的小功能吧,很多时候由于我们需要将运行时候的一些数据存储为别的文件格式,比如txt文本或者png图片等,就需要用到这个功能。   写法也比较简单,具体函数如下:   我们写个简单的测试用例,测试下这个功能   然后启动下unity,看看测试结果:

    2024年02月08日
    浏览(46)
  • Skywalking UI页面中操作的各种实用功能汇总

    刚刚接触skywalking不久,在这里总结一下在UI页面中操作的各种实用功能,随着使用的不断深入,我也会对文章进行持续补充。 本文skywalking 的ui入口是官方demo ,版本是10.0.0-SNAPSHOT-593bd05 http://demo.skywalking.apache.org/General-Service/Services 使用用户名和密码:skywalking skywalking登录即可

    2024年01月15日
    浏览(54)
  • Unity之Hololens开发如何实现UI交互

    什么是Hololens? Hololens是由微软开发的一款混合现实头戴式设备,它将虚拟内容与现实世界相结合,为用户提供了沉浸式的AR体验。Hololens通过内置的传感器和摄像头,能够感知用户的环境,并在用户的视野中显示虚拟对象。这使得用户可以与虚拟内容进行互动,将数字信息融入

    2024年02月08日
    浏览(45)
  • CloudCompare二次开发之如何设计界面ui与功能实现?

      CloudCompare源代码编译成功后,即可进行二次开发,可以通过修改源码实现二次开发,二次开发基础功能见(CloudCompare如何进行二次开发?),若想要实现更多自定义功能,可以自定义界面ui,并操作CloudCompare程序处理数据。本文讲解界面ui设计,修改相应的文件,使Cloud

    2023年04月20日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包