海外设备上偶现的报错处理方式

1)海外设备上偶现的报错处理方式
​2)Shader冗余则ShaderLab占用大小问题
3)URP Renderer Feature实现二次元描边,Cutout的处理问题
4)Unity中视频播放的解决方案


这是第286篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)

Android

Q:近期项目在海外设备上偶现图片中的报错:

A:这个问题已经确认为Unity的bug,由于最近Google Play强制推行AAB打包,所以大概率会碰到;一般测试的时候都是用APK,很容易遗漏这个最后的步骤校验。更新Unity至相应版本后即可修复:

可参考:
Unity Issue Tracker - Application freezes or throws errors when built as an .AAB file with Split Application Binary enabled

感谢han@UWA问答社区提供了回答,欢迎大家转至社区交流:
请问大家现在Unity中视频播放一般有啥好的解决方案 -- UWA问答:帮助开发者找到更好的答案


Shader

Q:Shader冗余则ShaderLab占用也会变大吗?

A:在真机上进行实验,查看Shader冗余时ShaderLab的内存变化。
以下是Shader中有20份Standard时:

以下是Shader中只有1份Standard时:

由于Profiler中无法看到ShaderLab的具体内容,所以严谨地来说,Shader冗余确实会造成ShaderLab内存升高。

感谢Faust@UWA问答社区提供了回答,欢迎大家转至社区交流:
请问大家现在Unity中视频播放一般有啥好的解决方案 -- UWA问答:帮助开发者找到更好的答案


Rendering

Q:之前我们的卡通渲染是在Shader里写多个Pass来绘制的描边,最近尝试用SRP Batcher优化时发现,SRP Batcher不支持多个Pass的Shader。于是我尝试用URP Renderer Feature来渲染所有角色的描边。

实现起来很简单,但有一个问题解决不了,就是Cutout的问题。

裙子的下边缘是用贴图的Alpha控制的,并不是真正的顶点。以前的Pass写在角色渲染的Shader里,可以用贴图来控制,但用Renderer Feature来处理后,所有角色模型的描边是用的同一个材质,不能再用模型各自的贴图的通道来处理了。显示效果就是Cutout的描边部分无法处理:

边缘比较复杂,但是控制的顶点就只有几个,感觉不太好实现。

现在模型顶点的颜色信息我已经用过了,RGB是描边颜色,A是描边粗细。我能想到的办法是用A的一些特殊值来特殊处理一下某些顶点(相当于Clip掉一些顶点,但肯定没有相关API),但又感觉似乎不太可行。不知道大家有没有遇到过,或者有没有什么好办法呢?

自己尝试了用顶点信息标记点,但有瑕疵,点关联的边会受影响,描边没了:

让美术加了一些点,基本也能解决(其实外边缘还是不会显示全,但已经看不太出来了):

但这方法还是不好。最好在Renderer Feature里可以获取到正在渲染的模型的材质信息。

是否可以把一个多Pass的Shader里的某个Pass弄到单独的Renderer Feature里画,而不是重新画一遍?比如画第一遍的时候禁用这个Pass,Renderer Feature画的时候再启用它?

A1:自定义一个LightMode,Render Feature里设置这个LightMode,这样材质球上的贴图数据什么就能有。

补充个截图大概是这样的:

对于自定义的LightMode,Unity默认忽略,只有Render Feature里手动指定了要画这个LightMode,Unity才会去绘制。

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

A2:如下,这样SRP Batcher终于可以合批多Pass的Shader了:

不用禁用正常的渲染。

两个pass,一个正常的pass,一个自定义lightMode的pass,lightMode的pass渲染描边用ScriptableRendererFeature手动指定渲染自定义的lightmode。unity不会去渲染你自定义的lightMode。

感谢题主仇磊@UWA问答社区提供了回答,欢迎大家转至社区交流:
请问大家现在Unity中视频播放一般有啥好的解决方案 -- UWA问答:帮助开发者找到更好的答案


Video

Q:需要在游戏内播放视频,满足一些基本的需求,比如播放远程视频,边下边播,设置视频播放速度,视频进度条,暂停之类的。

目前已知的可以用自带的Video Player、AVPro和Sofdec2这三款,想问下有没大佬系统研究过视频播放这一块的,可以分享一点经验,不胜感激。

A:可以考虑集成 https://github.com/bilibili/ijkplayer 到Unity上进行适配播放 :
在unity中使用ijkplayer解析4k/hls/rtsp/rtmp - Gero’s Blog

感谢mrz@UWA问答社区提供了回答,欢迎大家转至社区交流:
请问大家现在Unity中视频播放一般有啥好的解决方案 -- UWA问答:帮助开发者找到更好的答案

封面图来源于网络


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: H5海外小游戏源码是指在海外开发和发布的基于H5技术开发的小游戏的源代码。H5是一种基于HTML5技术的开发语言,它可以用于开发跨平台、跨设备的网页游戏。 随着移动互联网的快速发展,海外小游戏市场也逐渐兴起。H5海外小游戏源码具有一些优势,例如开发周期短、制作成本低、跨平台适配性好等。因此,越来越多的开发者选择使用H5技术开发海外小游戏。 H5海外小游戏源码包括了游戏的各个方面的代码,例如游戏的界面设计、游戏逻辑的实现、游戏资源的管理等。通过获取源码,开发者可以进行二次开发和定制,以适应不同的市场需求。 海外小游戏源码可以在各大开发者社区、游戏开发平台以及一些第三方游戏资源网站上获取。开发者可以根据自己的需求选择合适的源码,然后进行定制和开发。 总之,H5海外小游戏源码是基于H5技术开发的海外小游戏的源代码,它可以帮助开发者在海外小游戏市场中快速开发出符合市场需求的游戏,为开发者提供了一个较为便捷和经济的开发方案。 ### 回答2: H5海外小游戏源码是一种用于开发和制作HTML5游戏的原始代码。H5是指HTML5技术,它是一种用于在网页上开发丰富交互和多媒体内容的最新标准。而海外小游戏则是指在海外市场推广和运营的小型游戏。 H5海外小游戏源码具有以下特点和优势: 1. 跨平台:H5技术可以在各种设备上运行,包括PC、手机、平板等,无需单独为每个平台开发和适配,因此非常适合海外市场。这样一来,开发者可以在不同的设备上发布同一款游戏,覆盖更多的用户群体。 2. 开放性:H5技术是一个开放的标准,有很多优秀的工具和框架可以使用。通过使用开源的游戏引擎,开发者可以更轻松地创建和开发出具有高度创意和创新性的游戏。 3. 低成本:相对于传统的游戏开发模式,H5海外小游戏源码的开发成本更低。开发者可以利用已有的技术和工具进行游戏开发,无需花费大量的时间和人力成本,因此更适合小团队或个人开发者。 4. 易推广:H5海外小游戏源码发布和推广相对简单。可以通过各种海外游戏平台、社交媒体平台和广告渠道进行推广,建立用户群体和品牌知名度。此外,还可以利用数据统计和分析,优化游戏表现,提高用户留存率。 5. 多样性:H5海外小游戏源码可以实现各种不同类型的游戏,包括休闲游戏、益智游戏、角色扮演游戏等,满足不同用户的需求。 总的来说,H5海外小游戏源码是一种灵活、开放和高效的游戏开发方式,适合开发和推广海外市场的小型游戏。它具有跨平台兼容性、低成本、易推广和多样性等优势,可以为开发者带来更多的机会和收益。 ### 回答3: h5 海外小游戏源码是一种用于创建和开发跨平台网页游戏的技术。它允许开发者使用HTML5、CSS和JavaScript等前端技术来制作游戏,并通过网页浏览器进行游戏的运行。 海外小游戏源码的好处之一是它可以在不同的平台上运行,包括电脑、手机和平板等设备。这使得开发者能够一次编写代码,并在多个平台上发布游戏,节省了开发时间和资源。 另一个优点是海外小游戏源码可以轻松地跨越语言和文化的界限,使得游戏可以在全球范围内进行推广和使用。这对于那些希望打入国际市场的游戏开发者来说是非常有吸引力的。 在使用海外小游戏源码进行开发时,开发者可以利用各种开源的工具和框架,轻松地创建出各种类型的游戏。这些工具和框架提供了丰富的功能和特性,使得游戏的开发变得更加简单和高效。 同时,海外小游戏源码也提供了一些内置的功能,比如音频、动画和物理引擎等,使得游戏的效果更加逼真和有趣。开发者还可以通过自定义代码来增加游戏的功能和改进用户体验。 总而言之,h5 海外小游戏源码是一种非常有潜力的技术,可以帮助开发者创建出优质的跨平台网页游戏。它具有灵活性、易用性和全球化的特点,为游戏开发者提供了更多的机会和选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值