自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 pocketgl

支持在自己的web页面集成类似 Shadertoy、 Threejs 等基于webGL 的渲染图形窗口, 并且拥有shader代码高亮编辑器支持实时修改和预览。其自带的mesh包含两个Sphere 和 Teaport, 同时支持上床自定义的网格 和 背景天空盒。其既支持像Shadertoy 这种只包含frag 的着色器, 可以用来实现一些后处理效果和 SDF配合RayMatch的材质, 也支持vert的顶点着色器。

2023-06-16 15:19:50 430

原创 URP渲染管线下的 huawei AREngine预览流绘制

AREngine项目完全切换到URP渲染管线,不单单是预览流的处理,参与渲染的其他部分也需要做出相应的更改,读者根据自己的实际项目需求进行调整,也期望在使用urp过程中遇到或者解决相关的问题心得跟作者沟通。...

2022-07-28 19:43:22 528 1

原创 windows上实现类似mac上open命令

mac上有个非常好用的命令 open, 无论输入的是相对路径还是绝对路径,都可以智能的打开资源管理器。 如果是系统注册的后缀的文件, 也可以使用对应的软件打开对应的文件。windows 有个命令explorer 也可以打开资源管理器, 但对相对路径支持的不好, 也不可以使用对应软件打开相应后缀的文件。但对于熟练使用mac上open命令的强迫症来说是不可以接受的,所以这里写了一个c# 程序, 把编译出来的exe 重命名为open.exe, 放在c:/windows 目录下, 就可以实现类似mac上op

2021-06-19 20:21:08 1467 2

原创 Android下的特殊文件夹

文件架构Android目录下有很多固定名字的文件夹, 类似Unity中的Resources, Editor这些文件夹, 用来标记相关特殊的功能。具体如下列表:assets资产目录,这里面的文件会被打包到应用成的apk(安装包)里面,不会被本地化(不会被转成二进制文件)bin 编译后的文件目录gen 自动生成的文件目录 用于统一管理资源,通过id使用资源project.properties 代表编译的版本,对应android.jar的版本eg: target= android-19libs支持j

2021-02-01 17:05:21 601

原创 TDBR & Xcode Profile

为了体现显式的、高性能的、贴近硬件的设计哲学,现代图形 API 都提供了相对传统 API 更加强大的内存管理接口。传统 API 的内存管理基本是通过 Runtime/Driver 代为托管,开发者一般不需要过多关心内存分配实现和细节。现代 API 提供了明确的内存控制接口,因此 Runtime/Driver 几乎不再帮助开发者管理内存,需要开发者显式控制内存分配。显式内存管理的好处在于可以降低内存分配的次数开销,而不必每次创建/销毁资源时进行内存分配操作。GPU架构GPU也是有多级缓存结构的:寄存器.

2020-12-26 22:04:23 917

原创 游戏中口型动画合成系统

近年来, 基于语音驱动的人脸动画技术在虚拟主持人、数字娱乐、人机交互以及远程会议等方面有广泛的应用。如何快速、高效的实现语音驱动的唇形自动合成,以及优化语音与唇形面部表情之间的同步是此项技术的关键。表情动画作为语音驱动人脸动画的一部分,在增加人脸动画逼真性方面起着重要的作用,但已有的工作没 有定量分析人脸表情动 画与语音之间的关系.目前音视频模型主要集中在矢量量化的方法 (VQ)、神经网络(...

2020-04-29 17:12:21 3425 1

原创 从抖音视频提取游戏动作

姿态估计旨在 RGB 图片和 Video 中的人体像素映射到肢体的三维曲面(3D surface),其涉及了很多计算机视觉任务,如目标检测,姿态估计,分割,等等. 姿态估计的应用场景不仅包括关键点定位,如图形(Graphics),增强显示(Augmented Reality, AR),人机交互(Human-Computer Interaction,HCI),还包括 3D 目标识别的很多方面。层出...

2020-03-27 10:44:01 2471 2

原创 手机端对端直连技术

最近在看AR相关的东西, 其中一个ARWorldMap使用到的Multipeer的技术感觉棒极了。简单就是说, 不需要通过远程的服务器,只在局域网内通过wifi、蓝牙建立起来的通信,有点类似于Apple设备上的AirDrop。尽管对目前强连接的网络游戏环境格格不入(特别是5G大环境下),不过在我看来,对于实时的每帧更新的大批量数据、多用户连接的通信场景,直连技术对缓解服务器压力有不可替代的作用。...

2020-03-18 22:33:08 1088

原创 文字转语音TTS

概述Tacotron2是由Google Brain 2017年提出来的一个语音合成框架Tacotron2:一个完整神经网络语音合成方法。模型主要由三部分组成:• 声谱预测网络:一个引入注意力机制(attention)的基于循环的Seq2seq的特征预测网络,用于从输入的字符序列预测梅尔频谱的帧序列。• 声码器(vocoder):一个WaveNet的修订版,用预测的梅尔频谱帧序列来生成时域波形...

2019-12-14 20:03:10 1067

原创 librosa处理音频信号

二十世纪八十年代,有专家研究巴赫《第一勃兰登堡协奏曲》的音乐信号时发现,音乐信号的功率谱与人类大脑生理信号的功率谱相似,符合1/f信号公式。还发现,音乐信号α越靠近数值1越好听,从科学上找到一个近似参数来判定音乐的悦耳度。2012年加拿大麦吉尔大学音乐系主任分析发现,音乐节奏也满足这个规律,α值为0.8。不同音乐体裁的α值不一样,所以也可以用这个数值反推音乐的风格体裁。不同作曲家风格音乐的α值不...

2019-12-14 19:59:15 17870 5

原创 NDK同步读取资源

本文主要介绍Android Studio下, Java与JNI(c/c++)与Unity(c#)之间的交互, 并利用Android原生的接口,解决StreamingAssets目录下资源IO问题。因为默认情况下,Unity StreamingAssets的资源, 在apk安装之后依旧在apk里压缩文件里,只能通过Assetbundle(吐槽)接口来加载,并不能使用File这样的IO的接口来操纵。...

2019-12-07 15:40:38 519

原创 Unity lua脚本调试

原生的lua代码调试支持的工具很多, 这里主要说的是能Attach到Unity进程交互调试的工具。 大多游戏都在使用lua脚本来热更新游戏逻辑,下面介绍两个工具如何调试lua,介绍的两款lua调试工具都支持以下特性:自动补全(auto completion)代码片段(snippet completion)定义跳转(definition)生成注释(comment generation)类型...

2019-11-29 10:07:47 3842

原创 神经网络捏脸

在传统RPG游戏中,捏脸是不可或缺的一环。 类似《楚留香》(现在叫《一梦江湖》)、《完美世界》、《花与剑》里都有捏脸的玩法。目前主流的玩法都是游戏中拖拽滑杆来控制脸部不同的参数,来实现不同的效果。关于捏脸的具体实现,可以参见我在github上传的一个测试demo,里面介绍了详细的原理和代码。通常情况下, 游戏玩家捏出来的脸都比较丑。要想捏出比较完美的脸型,往往需要花费比较长的时间,而这正是本篇...

2019-11-25 10:24:57 3179 3

原创 Timeline Signals - Marker标记

自从Unity 2017.1发布Timeline以来,受到了广大开发者的欢迎,创作出不少精彩作品。我们也收到很多反馈,其中一项就是Timeline事件功能的请求,它是Timeline缺少的功能,一些用户通过剪辑实现了事件功能,但剪辑有自身的缺点。此篇将为你介绍在Unity 2019.1中新推出的Timeline Signals信号功能和扩展。介绍标记可以在Timeline上和剪辑一样添加...

2019-08-21 19:17:07 3607 1

原创 破解《航海王-燃烧之血》

公司要立项做海贼王项目了, 这么香的IP听着就有点兴奋。前期就拿别人家的游戏资源来研究了,所以这就是为什么破解《航海王-燃烧之血》的缘由了。几天下来,感觉破解游戏这事儿,还真得需要点儿黑客的潜质。在一堆二进制文件中找出规律,实在不是一件容易的事儿。解压缩:进入游戏资源目录, 看一看到一堆.cpk文件, 我们可以使用CPK File Builder解压成scz压缩格式的文件。对于一个角...

2019-08-19 11:10:58 972

原创 Python Pillow做一个强大的图形工具

对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础。在Python中,有一个优秀的图像处理框架,就是PIL库。感觉就是装逼利器啊…Pillow是PIL(Python Imaging Library,Python图像库)的一个分支,提供了对于开发者许多比较友好和直观的功能。安装 Pillow:#python3pip3 install...

2019-08-11 13:24:02 888

原创 camera动态图像识别

接着上节继续, 上节使用了一个特制的maker(印有方块的标记)。 现实生活中,这种标记都是不存在的,这里通过算法对现实世界的图像进行特征提取,生成特有的标记, 从而实现了从基于标记到AR转移到无标记的AR。可采用无标记AR的几个例子: 杂志封面,公司标志、玩具等。无标记AR计算量很大, 所以移动设备往往不能确保流畅的FPS。在实现过程主要分为两步:1. 使用关联图片创建一个marker...

2019-08-11 13:19:04 3345

原创 项目之自动化部署 CI

大家如何是如何管理自己项目的打包、打补丁流程了。还需要手动给 QA、策划或者运营出包吗?出包还需要使用 Unity 吗?你的项目是如何持续集成的,下面我们来一步步从头说起。使用 Jenkins 出包Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins功能包括:持续的软件...

2019-07-29 17:23:11 2708

原创 CG/hlsl 内置函数 和glsl对应关系

数学函数abs(x)  返回输入参数的绝对值acos(x)  反余切函数,输入参数范围为[-1,1], 返回[0,π]区间的角度值all(x)  如果输入参数均不为0,则返回ture; 否则返回flase。&&运算any(x)  输入参数只要有其中一个不为0,则返回true。asin(x) ...

2019-07-25 10:07:24 1882

原创 AR探索

程序通过OpenCV实现对Marker的识别和定位,然后通过OpenGL将虚拟物体叠加到摄像头图像下,实现增强现实。这里以参考《深入理解OpenCV》这本书第二章节的例子,实现基于标记的的虚拟现实实现。看到网上很多的例子都是基于固定渲染管线来画虚拟物体的, 而且很多地方都经不起推敲。 本例使用现代OpenGL实现的整个绘制过程。 >访问相机增强现实应用必须包括视频捕获和A...

2019-07-19 09:36:36 369

原创 自动化导出c++各个平台库

在上面一节,我们学习了c++和c#混合编程,主要是针对windows平台。接下来我们会讲下在其他平台c++库在Unity中使用的方法。unity可以使用的ios静态库(.a) android 静态库(.so) mac下的bundle库。上面的库导出以后,放在Unity Plugins目录下,Unity在编译包或者在编辑器里运行的时候会自动对应相应的库。unity 使用 在 Plugins 目...

2019-07-07 16:45:17 560

原创 球谐光照

游戏中的光照可以被简单分为两个部分,直接光和间接光。直接光中我们研究各种不同的BRDF材质,甚至BSDF,BSSSRDF等等。这些模型据有很不错的表现力,足够我们区分金属,皮肤,木头等等不同物体的着色表现。但这并不能满足我们,因为光并不是那么简单,光会被反射,会被折射,会被透射,会被吸收,所以物体的受光情况同时又由这个场景的其他物体决定,这部分光照同时拥有着更加富强的表现力,被我们称作间接光。用...

2019-07-07 16:38:53 779 1

原创 Python扒取网络图片

就像一个黑客,随意扒取别人的资源为己用,想想就知道是一件多么酷的事儿,好像全世界的图片都是我的一样。首先安装 BeautifulSoup。beautifulsoup就是一个非常强大的工具,爬虫利器。beautifulSoup “美味的汤,绿色的浓汤”一个灵活又方便的网页解析库,处理高效,支持多种解析器。利用它就不用编写正则表达式也能方便的实现网页信息的抓取。Beautiful So...

2019-07-01 19:59:13 1216

原创 Unity 植入 c++版protobuf

现在使用Unity引擎开发游戏使用的脚本语言越来越灵活了。就拿《王者荣耀》来说吧,战斗的核心都采取 c++的语言来实现,外围系统都是采用 csharp的开发的。使用 c++指针操作不断有更高的执行效率,作为 native 语言也不会有 mono 内存的开销。使用 csharp 语言语法简单,对面向对象的支持也比较好,适合快速开发和版本迭代。还有使用 lua 脚本来做游戏的热更新。这样问题来了,解...

2019-07-01 19:55:22 389

原创 PBR基于物理的着色

Unity5之后加入新的渲染方式 PBR。PBR是一种着色和渲染技术,用于更精确的描述光如何与物体表面互动。PBS(Physically Based Shading)在有一些地方也叫PBR(Physically Based Rendering),是一个基于物体表面材质属性的着色方法。与之前的Blinn-Phong等算法不同。PBS通过对物体表面的材质属性与周围光照信息来进行着色计算。PBS着色系...

2019-07-01 19:48:56 763

原创 Mac上用VS Code调试 Unity程序

相信很多人,在做Unity 游戏开发的时候,是喜欢用 visual studio 来写代码了。可惜的是,如果你在 mac 上开发就没有 Windows 那样便利了。别跟我说 mac 版的 visual studio,在我看来就像阉割版。vs code 像 sublime、notepad++、atom 等编辑器一样,轻量级,插件多。今天笔者就在开发的时候 monoDevelop 莫名的打不开,...

2019-07-01 19:44:39 4838

原创 Batch 合并Drawcall绘制HUD

hud是游戏中大量使用的元素,一个血条往往只需要很少的表现。在Unity中常用的UI大都是nGUI或者uGUI,因为图文层级交错或者Depth重叠,往往带来不少的Drawcall开销,从而导致游戏性能的开销。这里我们建议使用3D mesh的方式去绘制HUD,从而去优化性能。本文对应的源码已经公开到github,点击地址可以查阅。绘制血条我们使用c#代码-Hud.cs动态创建一个mesh。...

2019-07-01 19:35:52 503

原创 手机游戏风格转换

layout: posttitle: “手机游戏风格转换”date: 2019-05-02 03:00:00author: “Huailiang”tags:- Unity- 前端开发- Tensorflow- 人工智能- Python- 工具如今人工智能大行其道, 其中在图像、影音处理中方法颇多。 本文介绍一种游戏中图像风格转换的例子...

2019-07-01 19:29:01 230

原创 矢量字是如何画出来的

layout: posttitle: “矢量字是如何画出来的”date: 2019-06-07 03:00:00author: “Huailiang”tags:- 前端开发- OpenGL- 工具经典文本渲染:位图字体数学函数早期的时候,渲染文本是通过选择一个需要的字体(Font)(或者自己创建一个),并提取这个字体中所有相关的字符,将它们...

2019-07-01 19:22:21 1878

原创 移动GPU压缩纹理的使用方法

layout: posttitle: “移动GPU压缩纹理的使用方法”date: 2019-06-19 03:00:00author: “Huailiang”tags:- 前端开发- OpenGL- 工具介绍了各种移动设备所使用的GPU,以及各个GPU所支持的压缩纹理的格式和使用方法。1. 移动GPU大全目前移动市场的GPU主要有四大...

2019-07-01 19:20:35 543

原创 PBR之基于图像的光照IBL (Specular)

layout: posttitle: “PBR之基于图像的光照IBL (Specular)”date: 2019-06-27 03:00:00author: “Huailiang”tags:- 前端开发- OpenGL- 工具理论Hammersley采样在图形学里面,用到了很多的采样算法。特别当你在写一个光线追踪器的时候,会使用大量的采...

2019-07-01 19:16:13 2409 2

原创 PBR之基于图像的光照IBL (Diffuse)

layout: posttitle: “PBR之基于图像的光照IBL (Diffuse)”date: 2019-06-22 03:00:00author: “Huailiang”tags:- 前端开发- OpenGL- 工具基于图像的光照(Image Based Lighting)在开始之前,我们先来了解下什么是基于图像的光照(IBL)。一...

2019-07-01 19:13:32 11383 5

原创 基于IL代码注入的方式实现热修

借鉴于xlua可以利用IL注入的方式实现原c#代码覆盖,既不污染c#代码,也不需要埋点。现已在游戏中实现类似的功能。 使用方式:在新的功能模块中的类名或者方法名加上[Hotfix]标签 而如果忽略某个函数可以使用[HotfixIgnore]如果线上对应的代码出现问题,可以在HotfixPatch.lua 的Regist函数注册你要重载的函数,在HotfixCallback.lu

2018-01-04 14:02:27 1485

空空如也

空空如也

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

TA关注的人

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