
Unity开发
文章平均质量分 85
老刘@开发
流连忘返
展开
-
Unity2019出google的aab包,使用Assetbundle加载资源巨慢的问题
一、Google从2021年8月开始,GooglePlay强行使用aab格式https://android-developers.googleblog.com/2021/06/the-future-of-android-app-bundles-is.htmlGoogle 2021年7月宣布,从 8 月開始,提交到 Google Play Store 发布的新 App 不再接受旧的 APK 格式,必須使用新的 AAB ( Android App Bundle )格式。但现有 App 的更新不受影响。原创 2021-08-31 10:05:26 · 2115 阅读 · 0 评论 -
3D美术实时渲染最佳实践(7):材质与Shader
7.1 Shader和材质简介 – (略)7.2 在移动平台上使用优化的ShaderUnity提供了一组Mobile的Shader,在移动平台上尽量使用它们7.3 优化纹理在移动平台上尽可能少用纹理,纹理采样会导致更高的带宽更大的功耗,影响设备的电池寿命。可以考虑将多个纹理打包到一张纹理中,而不是将一个纹理用于粗糙度,一个纹理用于金属度。纹理打包示例7.4 对比光照Shader和无光照Shader可以选择Lit 和 Unlit,当然Unlit的性能更好,也可以把阴影画在上翻译 2020-10-04 22:22:48 · 438 阅读 · 0 评论 -
3D美术实时渲染最佳实践(5):Mesh
5.2-Triangle and polygon usage原文档:Arm® Guide开发人员指南 V4.1 – 移动平台游戏图形优化To optimize the performance of your game, always track the number of triangles that are on-screen.It is vital that you use the minimum number of triangles to get the correct balance转载 2020-09-19 12:28:44 · 1223 阅读 · 0 评论 -
[Unity]ShaderLab开关属性:[ToggleOff]
ToggleOff用法在官方文档中并没有提及,以下为使用方法1、声明Property,格式为:[ToggleOff] VarName("Display", Int) = 0/1例如:Properties{ [ToggleOff] _EnableColor_Attr("_EnableColorAttr", Int) = 1}// 2、声明ShaderFeature,格式为: #progma shader_feature VARNAME_OFF例如:#pragma shader_原创 2020-09-17 00:04:45 · 2783 阅读 · 0 评论 -
[Unity]Unity中自定义RT渲染物件,物件渲染异常的问题解决
int lastLayer = actor.layer; actor.ChangeLayer(LayersDefine.DynamicRtRender); renderCamera.CopyFrom(mainCamera); renderCamera.cullingMask = 1 << LayersDefine.DynamicRtRender; renderCamera....原创 2020-08-07 15:03:26 · 1050 阅读 · 0 评论 -
[Unity]Assetbundle打包shader,引发变体丢失的解决方案
一、环境:Assetbundle打2个包分为shader_pkg包、model_pkg包其中 shader_pkg 包含有shader文件,含有各种变体model_pkg 包含有美术模型文件,引用了shader的各种变体二、表现:加载model_pkg中的模型,材质Keyword(变体)全部丢失,不生效三、解决:1、尝试把shader文件拉到Always Include中,表现异常2、尝试把shader不要打包,表现正常3、在Graphics中,把变体另存成preload.shader原创 2020-08-07 15:00:28 · 3459 阅读 · 0 评论 -
[Unity]GraphicsTier-Unity图形级别
Graphics.activeTier当前设备的图形档位更改此值会影响所有随后加载的着色器此值一开始是根据当前的硬件,自动检测得到的,也可以修改它;GraphicsTier.Tier1 – 低档【垃圾手机】对应在Shader中定义:UNITY_HARDWARE_TIER1此档位适用于:– 不支持OpenGL ES3的Android设备– iPhone 5, 5C 及其更早的设备– iPod Touch 第5代及其更早的设备– iPad 第4代及其更早的设备– iPad Mini 1.原创 2020-05-27 16:18:16 · 1058 阅读 · 0 评论 -
[Unity]禁用Unity-Lighting中的Auto Generate选项
以Unity2018.4为例,每次新建场景,这个Auto Generate总是勾着的Unity后台的自动烘焙线程就一直在进行,然后电脑就卡卡卡,这真是一个悲(失)伤(败)的设计如何禁用这个功能(勾)呢?把这段代码放进工程就OK了:using UnityEditor;using UnityEditor.SceneManagement;using UnityEngine.Scene...原创 2020-01-10 23:09:24 · 7093 阅读 · 1 评论 -
Unity中方向向量的正确插值方式
对于方向向量,使用Vector3.lerp是不行的,比如对一个dir和-dir进行插值,是无效的;正确的方式是使用Vector3.Slerpusing System.Collections;using System.Collections.Generic;using UnityEngine;public class LerpTestProj : MonoBehaviour...原创 2019-10-10 12:49:46 · 1218 阅读 · 0 评论 -
Android平台上, 使用UnityEngine.Networking.UnityWebRequest.Post / WWW.Post, 请求Http, 网络未知错误的解决方法
表现, Window平台上, 没有此问题, 在大部分Android手机上:调用UnityEngine.Networking.UnityWebRequest出错isNetworkError= trueerror=Unknow Error但是在部分Android手机(OPPO)上,却是正常工作!通过ADB查看日志,发现报错了:java.io.IOException: Cleartext...原创 2019-08-05 10:29:27 · 2064 阅读 · 0 评论 -
记NatureManufacture Shaders/Mobile Water River在Mobile平台上像素化表现的Bug
表现为一格一格严重的像素化;原Shader使用了一张默认的纹理[HideInInspector] _texcoord( "", 2D ) = "white" {}然后在surf中,使用了i.uv_texcoord进行UV运算;这样就和模型的UV关联上了,当模型缩放的特别大,或者本地坐标系特别大那么uv的插值会出现精度问题;即相邻的一段像素采样(命中)了同一个像素点修正后的uv坐...原创 2019-07-16 19:51:54 · 611 阅读 · 0 评论 -
Unity2018、Unity2019在Windows7上输出异常错误无法运行空项目的问题
一、环境:Windows7二、Unity2018.4、Unity2019现象:打开Unity,新建一个空项目,在Console中输出几个Error,显示只有时间戳,没有内容无法运行此空项目三、查看Editor.log发现有以下Log:-----CompilerOutput:-stdout--exitcode: -2147450750--compilationhadfail...原创 2019-06-30 22:34:02 · 7851 阅读 · 8 评论 -
Unity2018.4送的Prefab Variant(Prefab变种)功能了解一下
Unity 2018.4中送了一个新的功能: PrefabVariant思路是,Prefab Variant继承于一个父Prefab,父Prefab属性修改后:(1)如果子Prefab的某些属性不动,则父Prefab的属性影响子Prefab的属性,此为 [属性继承](2)如果对子Prefab的某些属性进行修改/覆盖,则父Prefab的属性无法影响,此为 [属性定制]...原创 2019-07-02 21:23:20 · 13782 阅读 · 0 评论 -
[译]SRP Batcher:提升您的渲染性能
在2018年,Unity引入了一种高可定制的渲染技术,称之为Scriptable Render Pipeline(SRP)。其中一部分是一个名为SRP Batcher的新底层渲染路径,它可以在渲染过程中提升渲染性能1.2~4倍。取决于使用场景,官方提供了一个视频,让我们来看看:https://youtu.be/pUM7ifjGKkM视频请自行爬楼梯观看以上视频展示了...翻译 2019-06-02 00:12:59 · 10121 阅读 · 1 评论 -
Unity协程使用范例(踩坑记)
public class CoTest : MonoBehaviour { void Start () { Invoke("Test1", 0.1f); Invoke("Test1", 0.2f); Invoke("Test2", 1.1f); Invoke("Test2", 1.2f); Invoke("Test3", 2.1f); Invoke("Test...原创 2019-04-11 14:32:19 · 1068 阅读 · 0 评论