0%

hexo升级:

  • hexo: 6.3.0
  • hexo-cli: 4.3.0
    theme next:
  • 升级至7.8

升级后:
ERROR Deployer not found: github

增加:
valine

todo: 评论删除机制

代价:曾经的浏览数记录全没辣……

p.s. 其实已经升级一阵子了,因为备案审核之类的关系一直没敢上线,结果最后到公安那步也没过,就这样吧,爱关关。

前情提要:

最近在做动态图集,方案:在需要某格式图集的时候,初始化1张Texture,并将同格式的放到这个格式对应的Texture中去。
由于我们组件用的都是基于Image,故使用CopyTexture,并踩了个坑,这个API(https://docs.unity3d.com/2018.4/Documentation/ScriptReference/Graphics.CopyTexture.html
),etc2及一些压缩格式都不能调用。如果把这些项目中的etc2图重新变回rgba,那包体中图片的大小估计就得升到4倍…故舍弃了此动态图集方案,fallback到之前的按文件夹图集。
按文件夹(按功能)图集的问题是,有的图集在common中,有的图集在main中,会造成不同图集图片的穿插而导致dc高。

Read more »

使用与利弊:

https://docs.unity3d.com/2018.4/Documentation/ScriptReference/UI.RawImage.html
Displays a Texture2D for the UI System.
Keep in mind that this will create an extra draw call with each RawImage present, so it’s best to use it only for backgrounds or temporary visible graphics.
以上是官方说法。
然而多嘴一句:其实看动态生成atlas方案的时候就会发现,RawImage也是能合并dc的┓( ´∀` )┏,而且动态管理和显示的时候不用Sprite.Create, 但Image所提供的那些mode它确实是没有。

https://docs.unity3d.com/2018.4/Documentation/ScriptReference/UI.Image.html
Displays a Sprite for the UI System.

https://answers.unity.com/questions/1070280/raw-image-vs-image.html

一般ui上都用Image(可合批,搞图集、即使非图集,TextureType为Sprite),特殊的Texture(如rt等)可用RawImage
Sprite.Create可转换为sprite用Image组件,但这样比较费性能。

源码地址:

2018.4版本:
https://github.com/Unity-Technologies/uGUI/blob/2018.4/UnityEngine.UI/UI/Core/Image.cs
https://github.com/Unity-Technologies/uGUI/blob/2018.4/UnityEngine.UI/UI/Core/RawImage.cs

源码解析:

简略版:知乎鹅厂小哥:

详细版:(推荐阅读此人的Image)
dmk17771552304 @csdn

需求

手游,对3D及某些UI的渲染结果进行高斯模糊,在模糊的结果上显示另一层UI弹出框。

方案探索过程

GrabPass 2Pass法(纯shader)

简单介绍就是两个Pass先横后竖两次模糊,第二次抓取了第一次的结果。
但上面提到的shader算法,如果直接搬运会发现效率很差,因为shader计算用到了pow,于是个人做了优化,高斯的权重计算结果可以缓存,需要的见:“源码汇总”

GrabPass 1Pass法(纯shader)

  • 好处:同上
  • 坏处:效率比上面还差,说明瓶颈并不在GrabPass本身,而在于每个像素都得过量取样。
    而GrabPass本身不能降低分辨率而跳过一半像素去计算,如果真的一定要沿这个思路走就得用CommandBuffer了。

后处理法 OnRenderImage

  • 好处:可以先降分辨率再计算,最终真机就掉了5fps。
  • 坏处:不太灵活。
    对overlay无效,以及需要将需要模糊的和不需要模糊的UI强行分两个Canvas,项目内本身的弹出框上再弹出多层弹出框还想模糊就比较蛋疼了。
    方案参考:
    毛星云版github

其它 - RT、CommandBuffer

其实也可以输出到RT再插入Image,还有说使用CommandBuffer,因为后处理法过得去所以未再细究,而CommandBuffer据说性能会跟GrabPass差不多差所以更不用试了。

Read more »

前情提要

由于自己项目里要做一个效果,大略也是按照坐标从A贴图溶解变为B贴图,但在溶解过程中还需加上边缘效果等,看此插件效果好,功能强大,故阅读之。然其代码由于支持丰富,代码略多,文件繁多,记录一下看的过程略作解释。(顺便把代码都贴到一个页面方便自己查看=v=)

插件地址

https://assetstore.unity.com/packages/vfx/shaders/advanced-dissolve-111598

插件效果

image

Read more »

  1. 由于项目用了软连接故integrade with unity报错
    报错信息The project contains symlinks which the default installation configuration does not support. Found symlink "Assets\Scripts\ProtobufStruct". Please select the "Install files directly into the Unity project directory" option and try again., 信息上建议选择下一个。
    image

    解决方案: 按他说的做,但是后来发现Mac、Windows成功了,但安卓、iOS仍然没进去。

Read more »

当前问题:

  1. 在手机端未合并drawcall
  2. 不勾include in build在windows上白屏
  3. 不勾include in build,包也没变小?
  4. pc合并drawcall奏效时 双图,滚uv的shader表现为滚动速度会加快
Read more »

ios 插件

Unity与Native调用

Unity - Manual: Building Plugins for iOS

  • extern "C"
    函数声明得用C like
  • String to char *
    const char *Cstr = myObjCStr.UTF8String;
    放在extern “C” 的func中return 会内存泄露,最后采用了jpush中一段代码:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    static char *MakeHeapString(const char *string) {
    if (!string){
    return NULL;
    }
    char *mem = static_cast<char*>(malloc(strlen(string) + 1));
    if (mem) {
    strcpy(mem, string);
    }
    return mem;
    }
  • .m与.mm
    用到c++func得用.mm

其他

Unity3D Native 插件开发(3)— 理解 IL2CPP 机制-腾讯游戏学院
十分钟让你明白Objective-C的语法(和Java、C++的对比) | 皮卡丘♪~(´ε` )

Read more »

选择

官方

第三方

Read more »

前期

  • lv1-lv5 白->绿->蓝
  • lv5,第一个技能栏,抽技能,完成首日任务
  • lv10几乎都蓝
  • 到lv10大概率会得到一个lv20金色装备 让人追求等级
  • 10级后装备概率降低,提醒人养成氪金,加速挑战
  • lv10解锁第二个技能栏
  • lv14开启属性
  • lv15开启宠物、属性
  • 4人发动快速战斗 4小时到15级

中期

  • 取消了加速战斗会自动挑战boss,到46级开启,猜测应该是为了增加玩家在线时长?
  • ?级开启宠物养成
  • 42级开启一个奇怪的装备栏

问题

  • 组不到好队容易流失

Master Audio

最近AssetStore打折翻到了一个插件:
Master Audio: AAA Sound
声称自己全网最佳,乍一看很厉害,功能上还是有分组和随机之类,创建缓存池之类的功能,后来发现它的作法是得事先把音频拖到场景上的一个管理器里……emmm对读表和原来就用代码管理的项目其实用不大着。就是个,unity用的管理器
文档: http://www.dtdevtools.com/API/masteraudio/index.html

另外也找到一个不错的音效包:
universal-sound-fx
挺值的。

Read more »