自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (8)
  • 收藏
  • 关注

原创 获取DontDestroyOnLoad的所有对象

获取DontDestroyOnLoad的所有对象

2024-05-11 16:54:21 128

原创 ​​​​​​​Error while downloading Asset Bundle: CRC Mismatch

这行代码加载assetbundle是根据cachedBundle的bundleName和bundleHash判断本地目录(AppData\LocalLow\Unity\companyname_producename\bundleName\bundleHash)下是否存在相应文件,如果存在就直接从本地加载,如果不存在再去远端下载,下载完会自动存到(AppData\LocalLow\Unity\companyname_producename\bundlename\bundlehash)本地这个目录。

2023-05-24 18:44:34 1048

原创 AssetBundle加载与卸载时的内存变化

如果有ParticleSystem,prefab,等其它资源的的话也会有其它的内存如:SceneMemory/ParticleSystem,SceneMemory/GameObject等等。会释放掉绝大多数的资源,比如他可以并不释放Other/AssetBundle/LoadingCache这一块。加载一个80MB的assetbundle会分配1MB左右的pss内存。会从磁盘上加载具体的资源到内存中约110MB。为主要为一块即Assets/下面的具体资源,根据不同的手机有不同的情况。

2023-05-11 16:54:52 606

原创 StreamingMipmap注意事项

使用Unity2020.3.36f1开启StreamingMipmap后,一些贴图只会加载最低质量的mipmap让场景变的非常模糊,当然streaming memory budget是足够用的(2048MB),最后定位到原因:meshfilter中的mesh和renderer中的material要同时设置好后再启动renderer的enable。如果一开始meshfilter中的mesh是动态换的,就会触发这个bug。

2023-05-09 16:34:43 428

原创 UnityEditor加载AssetBundle模型变为粉色

UnityEditor加载AssetBundle模型变为粉色的解决方案

2022-11-15 16:32:44 2819

原创 【Unity3d Shader】角色投影与倒影

把阴影投影到XZ平面的实现

2022-07-24 16:26:36 1234

原创 【Unity性能优化】Shader的WarmUp

shader_feature和multi_compile的差异?shader warmup在做什么事?Shader.Parse和Shader.CreateGpuProgram差异?

2021-12-06 19:33:24 8651

原创 【Unity性能优化】ASTC压缩格式(Android)

ASTC中ARM研发的一种贴图压缩格式,相对于PVRTC,ETC2他对贴图尺寸没有要求。iOS端游戏开发逐渐从PRVTC转到了ASTC。iOS9(A8架构)(iphone6)开始支持ASTC压缩格式。Android支持 OpenGL ES 3.1 和 Vulkan 设备。目前有约5%的Android尚不支持ASTC可以通过下面函数判断是否支持ASTC格式

2021-11-23 10:53:28 13120 1

原创 【Unity性能优化】GPU数据回传Texture2D.ReadPixels VS AsyncGPUReadback

Unity中截取屏幕保存到本地时,会用到Texture2D.ReadPixels();但Texture2D.ReadPixels()需要把数据从gpu传到cpu端,性能开销比较大,在某些低端机上会有明显的卡顿。我们常常会有异步方法去改善这种卡顿:AsyncGPUReadback,android端,在unity2019.4.30等某些版本上,AsyncGPUReadback依赖于图形API:Vulkan,而OpenGLES3下面是失败的(AsyncGPUReadbackRequest.hasErr

2021-11-10 21:07:35 6001

原创 Unity3d 优化那些事

贴图优化:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1.贴图格式设置,尺寸应为2的n次幂的正方形(如64*64,128*128,256*256等等)2.贴图如果可以不带Alpha(透明像素)尽量避免Alpha(透明像素),如避免掉某些立绘的4个圆角3.Android平台设置...

2021-06-23 19:45:55 886

原创 求平方根算法

using UnityEngine;namespace Assets.NetSyncDemo.Test{ public class TestSqrt : MonoBehaviour { private void Start() { UnityEngine.Debug.Log(Sqrt(9f)); UnityEngine.Debug.Log(Sqrt(62f)); UnityEng.

2021-06-21 18:50:33 256

原创 N皇后C#算法 Unity3D

using System.Collections.Generic;using System.IO;using System.Runtime.Serialization;using System.Runtime.Serialization.Formatters.Binary;using System.Text;using UnityEngine;namespace Assets.NetSyncDemo.Test{ // N皇后C#算法 public class TestNQue...

2021-06-21 16:13:52 149

原创 【Unity3d】读取串口数据

最近搞了个读取串口数据的小程序:把相关硬件插到电脑usb口,通过硬件上的按钮操作unity3d(pc端)应用。 private void OpenPort(string portName, int baudRate, int dataBits, int readTimeout) { _mySerialPort = new SerialPort(portName); _mySerialPort.BaudRate = baudRate; _m...

2021-03-15 23:01:09 589

原创 【设计模式】桥接模式

桥接模式(Bridge Pattern)属于结构型模式。它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。需要一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。...

2021-02-22 18:24:10 96

原创 【Unity3d Shader】模板缓冲区(Stencil buffer)

模版缓冲(stencil buffer)或印模缓冲,是在OpenGL三维绘图等计算机图像硬件中常见的除颜色缓冲、像素缓冲、深度缓冲之外另一种数据缓冲。

2020-11-05 18:05:04 2121

转载 unity webgl自定义启动进度条动画

多多少少在unity官网webgl模板看到了Template自定义介绍,今天分享一个超级实用的添加自定义的模板有两种方式:1.在你-----unity安装位置\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates在这目录下创建自定义模板2.直接在unity的 Assets下创建WebGLTemplates文件夹 再到里面创建自己的文件(必须这个文件夹下名字不能打错)然后playersettings-&

2020-10-21 17:27:10 1033 1

原创 Android全面屏适配问题:华为p40

华为p40,android全面屏适配问题:解决方案:AndroidManifest.xml里面如下几处修改:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test.test2" xmlns:tools="http://schemas.android.com/tools" a.

2020-08-06 19:43:00 2141

原创 【Unity3d Shader】颜色叠加算法

把图片B(半透明)压在图片A(半透明)上面的颜色叠加算法half4 blend_color(half4 c1, half4 c2) { half4 result = half4(0, 0, 0, max(c1.a, c2.a)); result.rgb = c1.rgb * (1 - c2.a) + c2.rgb * c2.a; return result; }...

2020-06-03 14:18:41 3548

原创 【Unity3d Shader】渲染顺序

1.Cameracamera.depth大的会遮挡camera.depth小的物体2.Zwrite在同一个Camera下。如果Zwrite开启,会按Z坐标进行排序。z值大的会被z值小的遮挡3.RenderQueue如果Zwrite关闭,则不会被写入深度缓存区。RenderQueue>2500或RenderQueue<=2500排序,RenderQueue>2500的会遮挡RenderQueue<=2500的物体在同一侧时如果SortingLayer和Sor

2020-05-26 14:40:38 989

原创 Unity3D 命令行打包xcode工程(commandline build )

M_PROVISIONING_PROFILE="a8efop6a-33pt-5522-pokq-52d6d800aubv"#证书配置M_CODE_SIGN_IDENTITY="iPhone Distribution: XXXXXX Technology INC. (XXXXXX)"#证书配置M_XCODE_PATH="/User/xxxxxx/xxxxxx/xcode_project_roo...

2020-04-13 12:54:17 801

原创 C# delegate lambda linq 要注意GC的产生

C#中委托相当于类(不是值类型,而是引用类型),当做为形参传入的时候或者System.Actionb=TestB;//TestB是一个方法,这样调用一次为产生112bytes的gcalloc所以我们要避免在update中这样使用。同理,我们尽量避免使用LINQ语句,因为Linq语句要求我们传入一个委托(delegate)或者方法名,或者lambda表达式。那么GC就产生。...

2020-04-09 16:00:51 2366

原创 【Unity3d Shader】内置函数

Unity Shader 内置函数 Intrinsic Functions (DirectX HLSL)官网链接Name Syntax Description 描述 abs abs(x) Absolute value (per component). 计算输入值的绝对值。 acos acos(x) Returns the arcc...

2019-11-19 12:00:52 632 1

原创 【Unity3d Shader】速度线效果

速度线效果常常在游戏中用于修饰运动的物体,可以用粒子实现,也可以用简单的shader实现。我们主要介绍一下shader实现的思路。效果图如下:核心代码计算出uv坐标half2 offset = IN.texcoord - _CenterPos.xy;half a = atan2(offset.y, offset.x);half r = pow(offset.x * off...

2019-11-15 21:30:06 2339

原创 【Unity3d Shader】眨眼效果

眨眼效果常用于游戏中的剧情表现,先看效果图:原理很简单:椭圆公式:当焦点在x轴时,椭圆的标准方程是:x^2/a^2+y^2/b^2=1,(a>b>0);当焦点在y轴时,椭圆的标准方程是:y^2/a^2+x^2/b^2=1,(a>b>0);核心代码如下: half4 color = IN.color; half x = IN.t...

2019-11-15 17:05:51 4739 8

原创 【Unity3d Shader】信号干扰效果

信号干扰效果,主要模拟屏幕受到信号干扰后的效果思路如下:1,不断向上移动的条纹2,向上移动的流光3,横向拖拽的图像撕裂,对一张噪音图采样,4,全部区域的噪点效果图如下:shader代码如下:// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (s...

2019-11-15 15:17:17 2715

原创 【设计模式】简单工厂模式和策略模式的区别

代码结构图的区别首先来看一下简单工厂模式:再看一下策略模式:看完他们的结构图,是不是有种很相似的感觉?唯一不同的就是 简单工厂类 和 Context类。接下来再看一下代码上有什么区别。简单工厂类和Context类中代码的区别简单工厂类: public class BirdFactory { public static IBird Cre...

2019-10-09 16:08:50 195

原创 lua闭包解析

闭包的定义:当一个函数(func)的返回值是另外一个函数(func内return的匿名函数),而返回的那个函数(func内return的匿名函数)调用了其父函数(func)内部的变量(x),且返回的这个函数在外部被执行了(print(f1())),就产生了闭包。闭包是一个环境,具体指的就是外部函数--高阶函数。lua里面的函数,和c语言的函数其实是不同的概念。在lua里通常讲的函数,其实是...

2019-10-08 10:35:27 1123

原创 【设计模式】六大原则

1.单一职责原则(Single Responsibility Principle):对一个类而言,应该仅有一个引起它变化的原因。如果存在多于一个动机去改变一个类,那么这个类就具有多于一个的职责,就应该把多余的职责分离出去,再去创建一些类来完成每一个职责。单一职责原则是实现高内聚低耦合的最好方法,没有之一。2.里氏替换原则(Liskov's Substitution Principle):...

2019-09-30 10:44:39 138

原创 【Shader Graph】流光效果(模型流光)

ShaderGraph的入门知识和基本操作可以参考:【Shader Graph】Shader Graph入门流光效果的实现原理和shader代码可以参考:【Unity3d Shader】流光效果(模型流光)ShaderGraph实现的效果图如下:ShaderGraph如下(点击可看大图)...

2019-09-29 14:34:34 5557

原创 【Shader Graph】Shader Graph入门

Unity2018引用了ShaderGraph:通过可视化界面拖拽就可以实现着色器的创建和编辑,听起来很简单,那我们一起来尝试下吧。我用的unity版本为2019.1.0f2一.如何引入ShaderGraph?方法有两种:1.新工程:新建工程的时候模板选中Lightweight RP,新建工程即可。如图:2.老工程:点击Window/Package Manager打开P...

2019-09-27 19:03:14 9832 2

原创 【Unity3d Shader】流光效果(模型流光)

模型的扫描效果:一道光从人物模型身上扫过。基本原理:从顶点着色器中取到模型空间的坐标y,然后在片元着色器中用这个坐标y,做动画即可核心代码://模型空间坐标而非裁剪空间 o.uv.z = v.vertex.x;fixed4 col = tex2D(_MainTex, i.uv);//按在_Progress附近做一个光柱的渐变变的光柱,在C#代码中去修改_Pregress...

2019-09-26 15:18:32 4539

原创 C# new和override区别

override1. override是派生类用来重写基类中方法的;2. override不能重写非虚方法和静态方法;3. override只能重写用virtual、abstract、override修饰的方法;4.不能使用修饰符 new、static、virtual 或 abstract 来修改 override 方法。new1. new是派生类用来隐藏基类中的方法的;...

2019-09-20 12:21:56 169

原创 【设计模式】适配器模式

适配器模式(Adapter Pattern)属于结构型模式。它将一个接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。适配器模式让我们用一个新的适配器类(XxxxAdapter)来解决原本接口不兼容的问题。可分为两种:类适配器:适配器集成适配者并实现新的接口 ...

2019-09-19 11:57:57 130

原创 【设计模式】单例模式

单例模式(Singleton Pattern)属于创建型模式,单例类只能有一个实例,并且由它自己创建。比如游戏中的一个协议控制器,有且只有一个实例。C#代码:using System;namespace ConsoleApp{ public class ProtocolController { private static ProtocolCon...

2019-09-18 16:53:38 89

原创 【设计模式】建造者模式

建造者模式(Builder Pattern)是属于创建型模式,又叫生成器模式。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式的结构中引入了一个指挥者类Director,该类的作用主要有两个:1.它隔离了客户与生产过程,指挥者针对抽象建造者编程,客户端只需要知道具体建造者的类型2.它负责控制产品的生成过程,调用先后次序,并返回一个完整的产品对象意图...

2019-09-18 16:34:23 151

原创 【设计模式】原型模式

原型模式是属于创建型模式。允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。其实就是实现一下ICloneable借口(深...

2019-09-18 11:16:49 137

原创 【设计模式】抽象工厂模式

抽象工厂模式是属于创建型模式。抽象工厂提供一个创建一系列相关或相互依赖的对象的接口,而无需指定它们具体的类。这样的描述我们会觉得和工厂模式比较像,那么工厂模式和抽象工厂模式的区别是什么呢?工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。工厂方法的鸽子店只能生产鸽子一种产品;而抽象工厂的鸽子店可以生产大鸽子,乳鸽,鸽子蛋等多种产品。C#代码:usi...

2019-09-18 10:53:02 155

原创 【设计模式】工厂方法模式

工厂方法模式(FACTORY METHOD)是属于创建型模式。工厂方法提供一个创建一系列相关或相互依赖的对象的接口,而无需指定它们具体的类。相比简单工厂模式,工厂方法不在工厂类中做决策,而是把这个决策推迟到每个用到他的地方。优点用户只需要关心所需产品的对应工厂,无需关心细节加入新产品符合开闭原则,提高可扩展性缺点类的个数容易过多,增加复杂度增加了系统的抽象性和理解难度C#代码:...

2019-09-18 10:41:08 146

原创 【设计模式】简单工厂模式

简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂提供一个创建一系列相关或相互依赖的对象的接口,而无需指定它们具体的类(是由一个工厂对象决定创建出哪一种产品类的实例)。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。优点工厂类是整个模式的关键.包含了必要的逻辑判断...

2019-09-18 10:15:32 199

原创 【Unity3d Shader】闪卡:UGUI的RawImage实现3D动画效果

游戏开发中常常会有精美的2D立绘,这种2D立绘一般为一张静态贴图,图片精美,但看地来比较呆板,不够生动形象。基于此问题,我们可以开发自己的shader实现动态效果。如下图:左图为静态原始效果,右图为特殊渲染后的动态效果。(当然可以用Spine等其它方式做成动图,但在本文讨论范围)。gif图片数据丢失比较严重:细看可以看到,妹子衣服的摆动,水面的波纹,妹子眼珠的转动,前景树枝的摇曳,树枝后面...

2019-09-04 17:23:39 2832 1

image_3d.rar

《【Unity3d Shader】闪卡:UGUI的RawImage实现3D动画效果》文章专用资源 文章链接:https://blog.csdn.net/PangNanGua/article/details/100536522

2019-09-04

Mesh Editor 1.6.zip

网格编辑器是Unity可用的功能最丰富、功能最强大的编辑工具。功能列表包含了高级网格编辑实用程序中所期望的所有功能,并且还在不断增长! 非常适合在Unity中编辑、修改和创建新网格。

2019-08-09

Mesh Maker Version 2.9 17-11-30.rar

Unity插件,网格编辑器。 Features: – Move, Rotate & Scale – Snap Multiple Objects At Once – 2D & 3D Support – Snap To Terrain Height – Easy Toggle On/Off – Metric & Imperial Measurements – Radian & Degree Selection – Quick Transform Buttons – Lock/Unlock Grid Position – Grids For All 3 Major Planes – Includes 3D Grid – Info Labels In Scene – Dimensions Selector – New Text To Dimension – Adjustable Grid Size – Save/Load Current Settings – Custom Colors – Tooltips – Help & FAQ Page

2019-08-09

软件设计师考试同步辅导 考点串讲、真题详解与强化训练

《软件设计师考试同步辅导 考点串讲、真题详解与强化训练》 2018版 正版资源 考试必备(出版日期 2011.04)

2018-11-15

软件设计师教程第5版

软件设计师教程第5版 最新版本,考试软件工程师用,考证,拿积份

2018-10-19

DOTween Pro 0.9.550.unitypackage

DOTween Pro 0.9.550.unitypackage

2017-01-20

TexturePlugin.zip

unity3d的一个demo,新手可以学习unity很不错的一个小DEMO

2013-09-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除