Unity中如何实现草的LOD

1)Unity中如何实现草的LOD
2)用Compute Shader处理图像数据后在安卓机上不能正常显示渲染纹理
3)关于进游戏程序集加载的问题
4)预制件编辑模式一直在触发自动保存


这是第379篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

Terrain

Q:Unity自带的Terrain中草作为Detail,无法设置LOD Group。感觉草的LOD应该是一个非常基础的功能,Unity选择不支持这个功能的原因是什么?要想实现草的LOD,我想到的几种方式:
1. 手动放置。
2. 自己写Procedural工具批量生成。
3. 使用Terrain的Paint Trees功能变通实现。即把草当作一种Tree,增大种植密度。不知道这种实现会不会有副作用。

或者有没有更好的实现方式?

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Shader

Q:我用Compute Shader来做2D游戏图像数据的处理工作。

这是一款老2D游戏,客户端资源中大量图像都是以UShort[]数组存储的。读取后数组中的一个UShort值对应一个像素颜色值,通过写一个Compute Shader,将这些像素颜色值写到RenderTexture上,然后用Canvas+RawImage显示在主摄像机中。

在编辑器中已经正常运行了,每帧渲染耗时8-10ms(因为换装游戏的关系,需要对颜色值做很多叠加计算等处理)。

我打包出APK包,在安卓手机真机上却无法像在编辑器里一样显示图像。

在安卓手机运行时,打Log检测:

SystemInfo.supportsComputeShaders

安卓真机系统是支持这个Compute Shader的。

用FrameDebugger查看时,在编辑器里:

可以看到运行了Compute Shader,而且显示了这个Compute Shader的名称:XImageComputeShader。

上图第二红框中就是渲染出的RenderTexture图像内容。通过绑定RawImage,在游戏画面中可以正常显示。

但在安卓机里,看不到运行Compute Shader的地方,而RenderTexture的图像内容全部为空。

而游戏画面中,也是空白内容,没有图像。请教各位大佬,问题可能出在哪里?

另外,我用了华佗热更,再用IL2CPP,是否会因为某些原因被裁剪掉?如何验证修复呢?

A:已解决:

  1. 屏幕实际分辨率和手机品牌标志分辨率的差别导致我传入的图像数组尺寸不对。
  2. 华佗热更“可能”裁剪掉了某些关键部分,我把Compute Shader在游戏初始化时做了个调用就解决了。

感谢题主浪里个狼@UWA问答社区提供了回答


Script

Q:对于非程序人员他们不会修改代码,每次进游戏都要Reload一遍程序集,感觉没什么必要,然后就把Reload Domain关掉了。后续要处理静态数据有什么好办法吗?一个一个手动改吗?

A:Mono的脚本在OnDestroy里面对静态数据置空和取消静态事件。

非Mono的脚本自己封装一个带[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]的方法对静态数据清空。

然后还需要对有些插件进行修改,因为有些插件没有对EditorSettings.enterPlayModeOptionsEnabled进行判断可能在Editor模式下有问题。

感谢菜鸟@UWA问答社区提供了回答


Prefab

Q:在打开预制体编辑模式的时候,勾选Auto Save会一直触发这个自动保存功能,不勾选则会一直显示已修改,若手动点击Save,还是会触发已修改,不知道怎么回事?

A:我已经解决了。原来是QHierarchy这个插件出现了问题,具体原因没找到,但是删掉重新导入就好了。

感谢题主花小邪@UWA问答社区提供了回答

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

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

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

相关文章

STM32启动文件命名方式说明以及启动过程分析

1、启动文件的路径 cl:互联型产品,stm32f105/107系列 vl:超值型产品,stm32f100系列 xl:超高密度产品,stm32f101/103系列 flash容量大小: ld:小容量产品, 小于64KB md…

利用Python进行数据可视化Plotly与Dash的应用【第157篇—数据可视化】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 利用Python进行数据可视化Plotly与Dash的应用 数据可视化是数据分析中至关重要的一环&…

数字身份的革命:解锁 Web3 的身份验证技术

引言 随着数字化时代的到来,个人身份认证成为了日常生活和商业活动中不可或缺的一部分。传统的身份验证方式存在着安全性低、易伪造、不便利等问题,因此,人们迫切需要一种更安全、更便捷的身份验证技术。在这样的背景下,Web3的身…

Axure中后台系统原型模板,B端页面设计实例,高保真高交互54页

作品概况 页面数量:共 50 页(长期更新) 兼容版本:Axure RP 9/10,不支持低版本 应用领域:网页模板、网站后台、中台系统、B端系统 作品特色 本品为「web中后台系统页面设计实例模板」,默林原创…

Linux的启动流程、模块管理与Loader

文章目录 Linux的启动流程BIOS、boot loader与kernel加载 内核与内核模块内核模块与依赖性:depmod查看内核模块:lsmod、modinfo内核模块的加载与删除:insmod、rmmod、modprobe内核模块的额外参数设置:/etc/modprobe.d/*.conf Linu…

如何处理Flutter应用程序中的内存泄漏

大家好,我是咕噜铁蛋!今天,我想和大家分享一下如何处理Flutter应用程序中的内存泄漏问题。在Flutter开发中,内存泄漏是一个常见且需要重点关注的问题,它可能会导致应用程序性能下降,甚至引发崩溃。因此&…

PASSL代码解读[01] readme

介绍 PASSL 是一个基于 PaddlePaddle 的视觉库,用于使用 PaddlePaddle 进行最先进的视觉自监督学习研究。PASSL旨在加速自监督学习的研究周期:从设计一个新的自监督任务到评估所学的表征。 PASSL 主要特性: 自监督前沿算法实现 PASSL 实现了…

嵌入式开发——基础电路知识

1. 电路知识 1.1. 驱动能力 IC是数字逻辑芯片,其输出的是逻辑电平。逻辑电平0表示输出电压低于阈值电压,逻辑1表示输出电压高于阈值电压。负载则是被驱动的电路或元件,负载大小则指负载的电阻大小。 驱动能力主要表现在几个方面&#xff1…

基于Pytorch的验证码识别模型应用

前言 在做OCR文字识别的时候,或多或少会接触一些验证码图片,这里收集了一些验证码图片,可以对验证码进行识别,可以识别4到6位,纯数字型、数字字母型和纯字母型的一些验证码,准确率还是相当高,需…

Self-Consistency Improves Chain of Thought Reasoning in Language Models阅读笔记

论文链接:https://arxiv.org/pdf/2203.11171.pdf 又到了读论文的时间,内心有点疲惫。这几天还是在看CoT的文章,今天这篇是讲如何利用self-consistency(自我一致性)来改进大语言模型的思维链推理过程。什么是self-cons…

设置asp.net core WebApi函数输入和返回类型中的属性名称开头大小写格式

以下列类型定义为例创建简单的ASP.NET Core的WebApi函数,此时输入参数和返回结果的属性名称开头默认为小写,如下图所示。 public class UserInfo { public string UserName { get; set; }public string UserSex { get; set; }public string UserP…

班级综合测评管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. …

【pytest、playwright】allure报告生成视频和图片

目录 1、修改插件pytest_playwright 2、conftest.py配置 3、修改pytest.ini文件 4、运行case 5、注意事项 1、修改插件pytest_playwright pytest_playwright.py内容如下: # Copyright (c) Microsoft Corporation. # # Licensed under the Apache License, Ver…

PL/SQL概述

oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 PL/SQL概述 PL/SQL(Procedural Language extension to SQL)是 Oracle 对标准 SQL语言的扩充,是专门用于各种环境下对 Oracle 数据库进行访问和开发的语言。 由…

服务器呀服务器,一个虚拟专用服务器的使用教程

目前刚接触服务器这一块的学习,这里记录一下解如何获取自己的第一台虚拟云服务器,给刚入行服务器开发的小伙伴做一个参考。 具体的步骤如下: 一、服务器的注册和获取 1、打开bwg88服务器平台地址:点击进入 https://bwh88.net/a…

基于云计算的前端资源管理系统的设计与实现

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 随着互联网的快速发展,前端资源管理成为了一个重要的课题。本文旨在设计并实…

新书速递——《可解释AI实战(PyTorch版)》

本书旨在帮助你实施最新的可解释AI技术,以构建公平且可解释的AI系统。可解释AI是当今AI研究中的热门话题,但只有少数资源和指南涵盖了所有重要技术,这些技术对实践者来说非常有价值。本书旨在填补这一空白。 本书读者对象 本书既适合那些有兴…

BUG定位---一起学习吧之测试

判断一个BUG是前端还是后端的,通常需要根据BUG的具体表现、发生的环境以及相关的技术栈来进行分析。以下是一些常用的判断方法: 错误发生的位置: 如果BUG涉及的是页面的布局、样式、交互效果等,那么很可能是前端的BUG。如果BUG与…

LNMP架构之mysql数据库实战

mysql安装 到官网www.mysql.com下载源码版本 实验室使用5.7.40版本 tar xf mysql-boost-5.7.40.tar.gz #解压 cd mysql-boost-5.7.40/ yum install -y cmake gcc-c bison #安装依赖性 cmake -DCMAKE_INSTALL_PREFIX/usr/local/mysql -DMYSQL_DATADIR/data/mysql -DMYSQL_…

队列+宽搜例题讲解!

429. N 叉树的层序遍历 题目解析: 根据题目分析,可以看出题目要我们求的是N叉数的层序遍历,就是把每层的放在一块,最后把每层都输出出来即可! 算法分析: 我们可以利用队列先进先出的特性进行求解&#x…