Librosa处理音频信号 Dec 11, 2019 二十世纪八十年代,有专家研究巴赫《第一勃兰登堡协奏曲》的音乐信号时发现,音乐信号的功率谱与人类大脑生理信号的功率谱相似,符合1/f信号公式。还发现,音乐信号α越靠近数值1越好听,从科学上找到一个近似参数来判定音乐的悦耳度。2012年加拿大麦吉尔大学音乐系主任分析发现,音乐节奏也满足这个规律,α值为0.8。不同音乐体裁的α值不一样,所以也可以用这个数值反推音乐的风格体裁。不同作曲家风格音...
NDK同步读取Unity资源 Dec 3, 2019 本文主要介绍Android Studio下, Java与JNI(c/c++)与Unity(c#)之间的交互, 并利用Android原生的接口,解决StreamingAssets目录下资源IO问题。因为默认情况下,Unity StreamingAssets的资源, 在apk安装之后依旧在apk里压缩文件里,只能通过Assetbundle(吐槽)接口来加载,并不能使用File这样的IO的接...
Unity lua脚本调试 Nov 25, 2019 原生的lua代码调试支持的工具很多, 这里主要说的是能Attach到Unity进程交互调试的工具。 大多游戏都在使用lua脚本来热更新游戏逻辑,下面介绍两个工具如何调试lua, jetbrains旗下软件(IntelliJ IDEA、 Pycharm、 Rider等) vscode(LuaPanda) 两款ide都是跨平台的, 在windows和macos上都有很好的支持...
神经网络捏脸 Nov 23, 2019 在传统RPG游戏中,捏脸是不可或缺的一环。 类似《楚留香》(现在叫《一梦江湖》)、《完美世界》、《花与剑》里都有捏脸的玩法。目前主流的玩法都是游戏中拖拽滑杆来控制脸部不同的参数,来实现不同的效果。关于捏脸的具体实现,可以参见我在github上传的一个测试demo,里面介绍了详细的原理和代码。 通常情况下, 游戏玩家捏出来的脸都比较丑。要想捏出比较完美的脸型,往往需要花费比较长的时间,而...
Valkan 基础渲染流程 Sep 8, 2019 Vulkan 中的重要组件以及它们的工作流程如下图所示,接下来的文章中会针对每个组件进行学习讲解并配上相关的示例代码,首先是Instance、Device和Queue组件。 Instance 组件 在开始创建Device等组件之前,需要创建一个VkInstance对象。 通过vkCreateInstance方法创建VKInstance对象,以下是函数原型,在 头文件中。 // ...
TextureArray用法 Sep 1, 2019 在使用GPU Instancing时,如果要给每个物体设置不同的贴图,直觉的想法是使用 MaterialPropertyBlock对象设置一个Texture对象数组。 类似 GPU Instancing测试 这篇里写给每个物体设置不同颜色的方式(MaterialPropertyBlock.SetVectorArray),如果有一个MaterialPropertyBlock.SetTextu...
Assetbundle 加密 Aug 22, 2019 AssetBundle加密的主要目的是防止如AssetStudio(UnityStudio),DevXUnityUnpacker,AssetBundleExtractor等等常用的Unity资源破解工具直接对天鹅座的资源进行破解和提取 主要方法是通过修改源代码对AB的文件头的读写进行修改,让工具无法得到有效信息 AssetBundle格式 AssetBundle文件的layout...
Timeline Signals - Marker标记 Aug 21, 2019 自从Unity 2017.1发布Timeline以来,受到了广大开发者的欢迎,创作出不少精彩作品。我们也收到很多反馈,其中一项就是Timeline事件功能的请求,它是Timeline缺少的功能,一些用户通过剪辑实现了事件功能,但剪辑有自身的缺点。此篇将为你介绍在Unity 2019.1中新推出的Timeline Signals信号功能和扩展。 介绍 标记可以在Timeline...