pkg-doctor升级编译指南
配置环境
Clone AssetStudio
Clone pkg-doctor
下载Fbx Sdk(AssetStudio的版本)
下载Vs2022(看AssetStudio的版本)
配置附加目录 AssetStudioFBXNative 属性=》C/C++=》附加包含目录(注意x64,x86版本)
配置链接器 AssetStudioFBXNative 属性=》连接器=》附加库目录 D:\Autodesk\FBX\FBX SDK\2020.2.1\lib\vs2019\x64\release (注意x86和x64)
错误解答xxx.h没有是否添加了附加目录,这个是最常见的错误,C/C++是否添加了链接目录,注意你要编译的版本,如果你的FbxSDK里面没有这个头文件,一般就是Win10Sdk的目录,自己添加一下就行了,注意编译版本 注意编译版本 注意编译版本
xxx.lib没有链接器是否添加了fbxSdk的目录,如果是其他的Lib,自己查找Lib目录添加进来,一般都是win10sdk的目录没有添加
运行exe没有输出Console.Writeline没有修改解决方案为控制台 ...
一百行代码实现一个简易导表工具
描述这个是使用python的xlrd库实现的一个简易导lua表格的工具的工具,支持多sheet,相对来说比较简单,原理就是读表拼接字符串,然后生成文件,总代码行数差不多60行,如果不算注释和日志的话应该是只有50行左右。
表格结构
我这边使用的表格结构
第一行是字段名称
第二次是字段描述
第三行是字段类型
第四行是字段的可选类型
第五行是字段导出筛选(不需要,客户端列,服务器列)
第六行是字段的默认值(用来优化LuaTable的方案,使用元表优化法)
核心逻辑
def format_val :这个函数是格式化数据类型
def save_to_file :保存字符串到文件
def parse_excel :导表的核心函数
def main :主入口,可以从命令行传入参数
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172import xlrddef format_v ...
一百行代码实现简易AStar
原理AStar又叫启发式搜索算法,在静态网格中求取最短路径的一种算法,这里有个通用公式F=G+H,我们根据这个公式来衍生我们的代码。
下面我们会根据这张图来实现代码和验证逻辑,利用Excel来验证Astar我觉得是非常直观的,当然这个只是最简单的AStar。
G:表示从起点到终点移动直接消耗,能够直接算出来,就是直接走了几个格子
H:从指定的格子移动到终点的预计消耗
实现创建格子根据上图,我们需要创建一个10*10的格子
12345678910111213141516171819local length = 10local height = 10local Grid = {}for i = 1, length do Grid[i] = {} for k = 1, height do local t = {} t.x = i t.y = k t.f = 0 t.g = 0 t.h = 0 t.print = str ...
一百行代码实现一个简易的红点系统
一百行代码实现一个简易的红点系统原理红点系统其实说简单也简单,说复杂也复杂,其他描述起来就是一颗树状结构,描述起来就是一个建议的图
描述起来就是上面这一个图。看懂上面这张图基本上就能想到要怎么做了,就是某个系统红点更新了同步更新自己的父节点,直到更新到根节点。像节点之间的关系都可以走配置,正常来所有系统的位置应该是固定的了,如果有变化的节点就需要动态修改配置。
实现配置这里我使用的是lua,相对来说简单,直接手写了一份配置
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768-- 描 述: 红点配置gtRedDotId = { nRB_Root = 1, nRB_Root_S1 = 2, nRB_Root_S1_T1 = 3, nRB_Root_S1_T2 = 4, nRB_Root_S2 = 5, nRB_Root_S2_T1 = ...
unity深度profile(deep-profile)
一、准备工作我这边用的是Unity2017.4.40,最后一个版本,用的mumu模拟器,有手机可以用手机。
二、打包选项
Development Build,刚需就这一个,不是网上说的还要Autoconnect Profiler,这个选项只是方便你连接机器而已。
Scripting Backend一定要是mono,只有个才能deep(2019i2cpp开始支持),官方文档里面有讲,如果你是没有修改启动的Activity,勾选v7应该是没问题的,如果你是修改的启动的Activity,一定要勾选x86,为了保险起见还是两个都勾选上。
以下三种处理情况情况1没有自定义AndroidManifest,就是使用unity自带的方式直接出包,直接安装就行了,对了记录一下包名,使用下面几个命令就能deep了。
123456789#这个命令是连接mumu模拟器,可以查询怎么连接其他模拟器或者手机(自行查错)adb connect 127.0.0.1:7555 #这个是启动的命令行参数,com.pp.test 就是你的包名,对应 Player Settings -> (我这里是安卓) Ident ...
Hexo自动部署Github同步Gitee
工具账号Gitee账号,Github账号,测试自动构建Gitee Pages
(Testbird)兼容性处理
简单描述(只是针对安卓)这篇文章主要是针对Unity开发的游戏Testbird的兼容性测试对应的报告进行的处理,自己项目进行Top600测试是通过率达95以上,下面针对报告中每一项进行说明处理。刘海屏,挖孔屏,水滴屏(文末有解决方案)刘海屏未做适配,主界面左侧部分内容被遮挡。刘海屏适配,做好刘海屏适配就没问题。
挖孔屏未做适配,界面左侧部分内容被遮挡。这个处理和刘海屏一样处理,处理完就能通过。
水滴屏未做适配,主界面左侧部分内容被遮挡。这个处理和刘海屏一样处理,处理完就能通过。
部分异形屏手机左侧留白过宽,建议优化。这个处理和刘海屏一样处理,处理完就能通过(这个主要是由于没有乘上UGUI的Canvas缩放)。
全面屏游戏未全屏适配,界面左侧留有黑边,现有的适配方案(ov机型, vivo y97,vivo z3青春版)这个某些机型会自带刘海屏适配,根据他们官网给的视频方案就是不遮挡ui就行了,但是Testbird是不给通过的,这个暂时没有解决办法。
游戏未全屏适配,界面上下留有黑边,现有的适配方案建议优化(华为机型)这个一般华为高端机型都有,但是就两个好像,对比了市面上的游戏基本的都是没 ...
Unity画中画(动态地图)
前言这个东西是干嘛的,比如我们在大地图中,要去完成某个任务,要进去小地图,但是或者要实现一个挂机功能,但是不影响本身场景的逻辑,或者又可以叫做无缝大地图,也可以叫做动态地图,这个东西主要有三个难点,一个光照设置一个是雾效,还有一个是寻路,这两个都是基于场景设置的,但是我们的小地图不同于大地图怎么办。
实现用到了两个开源项目 PrefabLightmapping,NavMeshComponents,一个是解决光照问题,一个是解决寻路问题。
逻辑方面,就是把场景制作成Prefab,按照PrefabLightmapping的教程实现就行了,NavMeshComponents也是一样,具体就是创建Prefab,把我们的主角传送到Prefab里面就是了。这里我们只解决最后一个问题雾效,这个用的是RenderTexture,因为我们画中画实现的就是用一个相机单独把我们的挂机渲染到UI上或者哪里都可以。
PrefabLightmapping这个技术关键点就是先烘焙出光照贴图,然后修改我Root节点下每个Render的属性达到光照效果。
保存的Render组件信息
核心的操作,修改LightmapS ...
Unity面经
基础
Animator的使用和机制 以及与Animation的区别
什么是弱引用?弱引用的使用和作用?弱引用和强引用的区别?
Unity的路径有哪些?对象池的使用?
了解过音频压缩吗,音频文件怎么降噪?了解过动画压缩吗,3DMAX如何进行骨骼优化?
各种排序算法的时间复杂度,实现快排?
C# lambda表达式和表达式树的用法?
了解过A*算法吗,简单说说
说一说状态机和行为树
RenderDoc和GPA调试模拟器
准备工作RenderDoc 12版本64位
GPA 20
mumu模拟器
夜神模拟器
RenderDoc 和mumu模拟器第一步设置环境变量,可以百度看如何设置 RENDERDOC_HOOK_EGL = 0
使用管理员打开RenderDoc,或者有提示允许就行了
第二步设置RenderDoc Tools -> Settings
第三步切换到启动界面 File -> Launch Application
第四步设置要调试的软件, mumu是 NemuHeadless.exe
第五步设置Global Hook
注意看,按钮灰了,不知道怎么启动??不要慌,直接启动我们的mumu模拟器,有GUI标识就成功了(一定要进去启动界面,不要只看广告界面),然后就可以RenderDoc的教程,可以直接看文档,
F12来一下
这样就截帧好了,夜神模拟器也是一样的。
MUMU模拟器设置这个是默认设置,如果你没有改动,可以直接使用,有改动,改成DX
InterGPA和夜神,Mumu第一步设置环境变量,可以百度看如何设置 RENDERDOC_HOOK_EGL = ...