Unity 性能优化之资源优化(二)

这是 Unity 性能优化的资源优化第二篇,主要是 Texture 优化和 Animation 优化,其实在 SUNTAIL - Stylized Fantasy Village 这个工程里面纹理优化的空间挺大的,主要优化方式是纹理压缩。之前专门调研过各种纹理压缩格式在 Android 设备上的支持情况(主要是部分 OpenGL ES3.0 的不支持 ASTC 压缩),顺便也记录在这里了。

阅读全文

Unity 性能优化之资源优化(一)

Unity 的性能优化是一个永恒的话题,性能优化主要是围着 CPU、GPU 和内存三大方面进行。先从资源优化开始吧,资源优化涉及到资源加载(CPU、内存),资源渲染(GPU、显存)等方面,也是最容易着手优化的点。主要涵盖了 Audio 资源、Model 资源、Texture 资源、Animation 资源等,现在逐个来看看优化点以及优化方法,以及最后的对 SUNTAIL - Stylized Fantasy Village 工程的优化前后对比。

阅读全文

Unity Shader Graph 学习笔记

Shader 在 Unity 2018 之前都是需要写代码编辑的, Unity 2018 推出了 Shader Graph 插件, Shader Graph 可以通过可视化界面拖拽就可以实现着色器的创建和编辑。 后续学习 Shader 的相关笔记都会放在这里,实现了基础的 PBR Shader、水面效果、溶解(带边缘溶解)效果、积雪效果等,通过这些 Shader 的学习对 Shader Graph 中基本的 Node 有所了解。

阅读全文

Unity VR (Pico) 开发

最近入手了心仪已久的 VR-Pico Neo 3,价格还不错 1900¥拿下,希望 Neo 4 晚点出来哈,不然感觉会亏死!基于 Unity 引擎的基础 XR 场景,主要熟悉了一下 Pico 的 SDK 引入,手柄交互控制,2D UI 交互之类的 API。体验了一下其实用起来还蛮简单的,官方文档嘛一言难尽,先看看下面这些 Demo 呗。

阅读全文

C# 的泛型语法

泛型是 OOP 语言中三大特征的多态的最重要的体现,协变的作用就是可以将子类泛型隐式转换为父类泛型,而逆变就是将父类泛型隐式转换为子类泛型。除了协变和逆变,本文也涉及到 C# 泛型具体语法、原理、泛型约束、泛型缓存等内容。

阅读全文

C# 的 Native Callback

有时候需要 C# 调用 C/C++ 库,如果是异步调用必然涉及回调函数,本文记录一下 C# 如何调用 C++ 以及如何处理 Native 的回调。首先生成 Windows 下的动态库 DLL 可以参考:《演练:创建和使用自己的动态链接库 (C++)》,由于是在 Windows 环境,所以没有做关于平台区分的宏定义。

阅读全文

支持 IPV6 了,来点有趣的

因为国内普及了 IPV6,很多时候不需要再买云服务器也可以自己搭建一些有趣的服务,本篇文章里记载了一些实用的 Docker 镜像或者是折腾技巧。前提条件一定是通了 IPV6,如何判定是否具备 IPV6 的环境呢?https://test-ipv6.com/index.html.zh_CN 而且有一个可以 24 小时不关机的小主机,不过要跑较多的服务的话最好内存大点,我开始 8G 然后又加了 16G,无论是开虚拟机还是容器绝对是够用了。

阅读全文

EmmyLua 常用注解

EmmyLua 是一款专用于 Lua 的编辑器插件,支持 Jetbrains 产品家族以及 VSCode。EmmyLua 插件利用注解 annotation 功能来增加代码提示以及其它编辑器功能。EmmyLua 注解功能只是单纯的辅助编辑器代码提示以及其它功能,和 Lua 代码的实际运行逻辑没有任何关系,因为它们就是普通的 Lua 注释。

阅读全文

openSUSE 自动挂载 NTFS 硬盘

近期发现家里 IPV6 可用了,那还要百度网盘干啥?折腾起来!最近尝试了一下 OpenSUSE 这个发行版,不得不说这个发行版做的真好,遇到问题 Google 一下直接搞定。 OpenSUSE 自带读写 NTFS 的驱动,只需要一行命令即可挂载,再通过 SMB、Webdav 这些服务建立共享文件夹即可,有时候需要重启机器,所以需要自动挂载硬盘。

阅读全文