游戏开发
开着房车环游世界
游戏程序员
展开
-
photo shop的js脚本导出png图片
【代码】photo shop的js脚本导出png图片。原创 2024-02-23 14:18:03 · 561 阅读 · 0 评论 -
Chrome 调试技巧
有时候,qa测试会忽然出问题,然后需要你刷新界面,按照他的操作再来一次。可以让qa打开chrome里的这个选项。chrome自动断点 是不是特别方便?下面那个是在try的时候出错时暂停。是在遇到未try的错误时暂停。下面介绍一个更好的办法。原创 2023-08-02 18:36:43 · 358 阅读 · 0 评论 -
Unity 在场景界面 鼠标滚轮失效
只能右键转动视角,无法通过滚轮拉近远离镜头,非常麻烦。按一下 F 就搞定了!原创 2023-06-27 15:35:02 · 1127 阅读 · 3 评论 -
Unity 未来要看的插件框架等
qframework actionkit 管理定时器的。ordin unity编辑器的。yooasset 资源管理的。QFramework 框架的。hybridclr 热更的。catjson json的。dotween 缓动的。unitask 异步的。luban 整配置的。原创 2023-03-31 11:23:22 · 331 阅读 · 0 评论 -
Unity 程序集概述
unity 程序集原创 2023-03-20 16:04:41 · 576 阅读 · 0 评论 -
Unity 编辑器开发
编辑器开发基本有四个Button在 GUI 系统里我最常用 EditorGUILayout。原创 2023-03-16 14:14:46 · 1111 阅读 · 1 评论 -
Unity Puerts 过滤器
如果返回值是 bool 值 并且 返回 true 那么就会变成 BindingMode.LazyBinding。默认是 BindingMode.FastBinding 也就是说返回 false 就是 FastBinding。有的项目,库特别大,一进游戏初始化一些内容的时候特别慢,查出来可能是这个导致的。如果返回true 就不会生成Wrapper里的代码了。后面的 Filter 会覆盖前面的结果 要注意这一点。不过你可以看到 他是for循环调用的。可以看看这个链接 官方提供的黑名单。原创 2023-03-08 15:13:10 · 225 阅读 · 0 评论 -
Unity 命令行发Android包
c#读 String[] arguments = Environment.GetCommandLineArgs();unity.exe 只允许存在一个 如果开了ide 或者之前的没关掉 就不能运行了。c#里输出的内容 都在Editor.log里。C#代码放到任意Editor目录里。里面有输出堆栈和内容方便调试。也可以在命令行里加参数。可以在ide的这里打开。原创 2023-03-03 11:12:14 · 591 阅读 · 1 评论 -
Unity 原神人物移动和镜头处理
你肯定会希望 SetTrigger run 就跑步 SetTrigger stop 就停止。而你移动肯定是每帧都在 SetTrigger 所以人物移动会抽搐。SetTrigger 会在下一帧自动设置回去。动作控制不要用 SetTrigger。最好的办法是 设置一个float。原创 2023-02-03 19:18:41 · 1859 阅读 · 0 评论 -
Unity 一键去掉所有输出
如果字符串不在这里就会不编译 调用这个方法的都会不执行。当然了 你输出的时候要使用。原创 2023-01-29 17:45:49 · 163 阅读 · 0 评论 -
Unity 摇杆插件 Joystick Pack
4.Variable 可以任意设置 上面三种类型 适合做王者荣耀那种 允许用户设置的。其实有joystick.Direction属性可以确定方向 但是他的源码是。3.Dynamic 是摇杆可以拖着走 很少见这么用的。在这个范围内都可以点击触发摇杆 和王者荣耀的一样。1.Fixed 就是摇杆不能任意移动。不停的new太恐怖了,还是自己算吧!这里的其中一个放到canvas里。2.Floating 可以移动的。原创 2023-01-18 18:06:42 · 1105 阅读 · 0 评论 -
超级好用的Chrome调试技巧 H5游戏必备技能
比如 你希望 id == 2345 的时候 断点。如果你想知道鼠标点击 处理了什么 可以这么做。你就输入 id == 2345 就可以了。如果你希望 打印出一些内容就用这个命令。在里面输入你想要的变量就可以了。在chrome的代码里 右键。调试超大数组的时候 十分方便。他会直接在click处断点。他会让你输入一个表达式。原创 2023-01-06 15:18:45 · 389 阅读 · 0 评论 -
Unity github发布 和 gitignore文件的详细设置
然后使用命令 touch .gitignore 你会发现.git 同级目录出现了一个.gitignore文件。git 刚安装的时候 会让你选用什么换行符的 只是一般人选默认的。提示这个是因为 windows和其他平台的换行符不一样导致的。你做了一个unity项目 想给他提到github上去。github有一个官方的unity项目忽略文件。在 git bash 里 cd到你的项目。如果你是windows 他会不停提示你。你现在需要创建.gitignore文件。这时候你可以输入这个 设置一下。原创 2023-01-05 11:18:34 · 2571 阅读 · 1 评论 -
Unity Update FixedUpdate LateUpdate的优化
Update 方法无论是private 还是 public 都会正确调用。而且update 一旦使用 不能移除 是不是非常不合理?所以我们要学习flash laya egret 等。是因为unity内部使用了特殊方法。自定义enterframe事件。让他变成可添加 可移除的。原创 2023-01-04 19:55:33 · 348 阅读 · 0 评论 -
C# 一些基础
泛型置空 必须用default 他会自动把int 变成0 引用变为null。Func C# 内置的委托 有返回值 有参数 可以看例子。用event 声明一下呢 就可以一次回调多个 并传参了。C#内置的委托 Action 无返回值 可以有参数。C#里面的泛型(T),泛型类,泛型方法,泛型接口。这个就是回调一个方法。泛型类 你会发现 和 List 一模一样。这导致一些比较重要的C#基础被忽视。其实这个就是委托的多个回调版本。不一定非写T 可以是任意的。可以添加多次 触发也是多次。原创 2022-12-30 14:14:55 · 739 阅读 · 0 评论 -
Unity vscode 调试 unity
在这个插件的详情界面 点配置 给他添加到工作区就可以了。可能有的小伙伴发现了 这个插件经常无法正常添加。原创 2022-12-29 19:00:49 · 388 阅读 · 0 评论 -
Unity 官方优化指南
在动画模型上启用 Optimize Game Objects 选项。禁用 read/write enabled 标志。禁用 Read/Write enabled 标志。大批量对象移动和 CullingGroup。尽可能禁用 Mipmap。实施合理的纹理大小限制。在非角色模型上禁用骨架。原创 2022-12-28 19:22:24 · 232 阅读 · 0 评论 -
Unity 统计异常 数据 查看日志的插件
其实还有一个 Application.logMessageReceivedThreaded。经过测试 是可以获得堆栈信息的 无论是异常 还是 普通的log。看 open editor log 可以看错误的文本文件。如果你输出的特别多 为了不影响主线程的性能 可以使用这个。有时候 你希望在手机上看log输出 可以看看下面的插件。可以看到很多年没有更新了 不过没有关系 他依然非常好用。这个是让相同的日志合并显示的。还可以设置界面大小,非常方便。设置里可以看到很多有用的信息。这个是收费的,非常强悍。原创 2022-12-28 15:16:49 · 1142 阅读 · 0 评论 -
Unity puerts 发包
一旦改变 必须重启unity 因为如果已经加载的库 他不会卸载 你取消 apply 也没用。原来 puerts有很多库 你看到这里肯定很迷惑 这也太多了。也就是说 你点击的这个库 适用于哪个平台。所以你需要配置每一个库在哪个平台会被加载。你会发现报错 嗯 就知道不可能那么顺利。点击里面任意一个可以看到右边是这样的。比如你是windows开发的。那么 可以把所有的都关了。只保留这一个就可以了。原创 2022-12-09 20:34:50 · 358 阅读 · 0 评论 -
Unity RuntimeInitializeOnLoadMethod的调用顺序
RuntimeInitializeLoadType一共有下面几个。所以调用最早的其实是 SubsystemRegistration。他们的调用顺序不是按后面数字来的。那调用顺序是什么呢?原创 2022-12-09 15:40:47 · 547 阅读 · 2 评论 -
Unity 免费去掉闪屏 亲测有效
去掉闪屏原创 2022-12-09 12:30:54 · 1197 阅读 · 0 评论 -
Unity puerts js 和 c# 互相调用
还记得Binding吗在这里放入你的cs类js那边就可以调用啦原创 2022-12-07 19:05:50 · 957 阅读 · 0 评论 -
Unity Puerts TS编译的细节
首先看puerts的官方文档官方是推荐esm的好怎么编译可以让ts编译成.mjs文件呢?直接编译时改后缀吗?当然不是请看 TypeScript 4.7 的发布文档也就是说 .ts 后缀改成 .mts 后缀就可以了这时候再编译你会发现导入会自动加mjs后缀了原创 2022-12-06 16:39:33 · 1289 阅读 · 0 评论 -
Unity puerts 自定义Loader和调试和ab包的注意点
c# 输出类型是 ab.LoadAsset( xxx ).GetType()文本类型是 UnityEngine.TextAsset。他会把你创建的ab包都打包。加载ab包里的文本文件。也就是在这里的创建的。原创 2022-11-29 12:01:57 · 1186 阅读 · 0 评论 -
Unity 最近经验分享
那包括 Application.persistentDataPath 里的 Resources 吗?在 Gen\Typing\csharp 的 index.d.ts 里。根据路径获得文件名字要用 Path.GetFileName。可以用CreateText创建文本 记得 close。创建路径一定要用 Path.Combine。它会根据目标平台自动使用正确的路径分隔符。创建一个文件在一个不存在的目录里可以吗。所以乖乖自己创建 loader。创建的时候 路径是这样的。答案是no (亲测)原创 2022-11-21 14:04:34 · 320 阅读 · 0 评论 -
Unity PuerTS 一点源码
CallingConvention 是啥呢。那 IntPtr 是啥。原创 2022-11-17 11:24:06 · 265 阅读 · 0 评论 -
Unity QFramework
【代码】Unity QFramework。原创 2022-11-16 11:45:58 · 277 阅读 · 0 评论 -
egret 是在哪运行的
这句话的意思 如果 当前目录的 node_modules\egret\EgretEngine 是否存在。在任何地方运行 egret 命令使用的就是这个了。按照目录进去看到 EgretEngine文件。你会看到一个文件叫 egret.cmd。selector.js 就是入口啦。打开这个命令可以看到第一行。打开 他指出了 地址在。原创 2022-11-02 18:32:59 · 366 阅读 · 0 评论 -
Unity sln 和 csproj 基础
代码编辑器使用 .sln 和 .csproj 文件来访问有关项目的数据。当这些文件存在时,代码编辑器可以使用其中包含的数据来提供有用的功能,例如突出显示潜在的编译错误。启用此设置可指示 Unity 在项目中尽可能创建 .csproj 文件。但是如果一个解决方案中包含多个项目,sln 会加载该解决方案中所有的项目,而 csproj 只会加载当前项目。csproj 可以作为单独的项目运行,也可以在 sln 中添加 csproj 统一管理。解决方案sln是项目csproj的集合,项目是文件的集合。原创 2022-10-28 14:59:32 · 1661 阅读 · 0 评论 -
Unity zip解压和压缩
c#一般用这个库 https://github.com/icsharpcode/SharpZipLib。你需要在 Assembly-CSharp.csproj 里把你的cs代码目录放进去 现在就有代码提示了。切记一点 不要让解压路径就是zip的路径 比如zip在a包下 解压路径也是a 就不行。打开你项目的 Assembly-CSharp.csproj。有时候你用vscode创建的类 没代码提示 别的类也找不到。但是安装完 你会发现没有代码提示。有没有unity能直接用的呢?也可以引入第三方包里的cs类。原创 2022-10-28 12:24:34 · 2395 阅读 · 0 评论 -
xlua 用 lua5.3 还是 lua5.4 呢?
luajit没研究过。原创 2022-10-28 12:08:31 · 693 阅读 · 0 评论 -
Unity 加载资源
如果你把StreamingAssets 里的内容热更新到 persistent 那就会存在两份数据。直接把资源放在unity的目录里是不行的 打包的时候 不会打进去。这个 urlmf 是整个所有ab包的 也就是那个整个文件夹的。如果只加载包2 unity是不会自动加载包1的。StreamingAssets 的特性是只读的。不是单独某个ab包的 (单独的加载不到)打开后 里面其实是 ab包之间的依赖关系。也就是说 包2 是依赖 包1 的。举个例子 你生成的是安卓的ab包。2包是预制体 里面1包里的模型。原创 2022-10-26 11:53:36 · 2375 阅读 · 0 评论 -
Unity 一些核心名词的意义
AOTIL2CPP.NET CoreMono。原创 2022-10-19 18:57:19 · 419 阅读 · 0 评论 -
node.js 应知应会
ts原创 2022-10-11 11:24:55 · 199 阅读 · 0 评论 -
Unity 融化shader
用他减去你设置的值就可以让图按区块儿消失。因为黑色加上任何颜色还等于原来的颜色。tex1D 方法取的是中间的。第一张纹理图里有一些黑白色。就是第二张图里的uv值了。黑白色距离目标值的距离。这个图代表融化的边缘。但是需要一个渐变的边。原创 2022-09-16 18:52:33 · 371 阅读 · 0 评论 -
Unity Shader 做一个简单的波浪 屏幕扭曲
matrixCompMult(matX, matY): 矩阵相乘, 每个分量 自行相乘, 即 r[i][j] = x[i][j]*y[i][j];低精度类型,11位,数值范围为[-2,+2],通常用于常规的颜色与贴图,以及低精度间的一些运算变量等。faceforward(N, I, Nref): 如 dot(Nref, I)< 0则N, 否则 -N。cross(x, y): 差积,x[1]*y[2]-y[1]*x[2], x[2]...原创 2022-08-31 11:35:53 · 914 阅读 · 0 评论 -
Unity shader time
smoothDt 表示一个平稳的deltaTime,根据前N帧的时间加权平均的值。shader里重要的几个时间 注意单位是秒。dt 表示从上一帧到当前帧时间,以秒为单位。那么 0 -1 * 2 拆开两个范围就是。那么uv 的范围就是 0 - 无限大。为了方便理解 那么假设时间是2。uv超过1后 会自动去掉个位。然后就变成上面显示的样子了。会发现变成了下面的样子。uv取值范围是 0-1。0-1 和 1-2。...原创 2022-08-26 18:26:26 · 1903 阅读 · 0 评论 -
Unity shader 什么时候颜色应该 相加 相乘 ?
而在计算贴图采样颜色和环境光颜色时,也用了颜色值相乘,这是因为这时候计算的是两个颜色值的混合。然后就是颜色相加,在最后返回像素颜色的时候,用的时环境光颜色和漫反射颜色、高光反射颜色相加。这是因为不同类型的光照计算必然是要让物体变亮的(即颜色值增加),所以在计算各种不同的光照效果叠加时应用颜色值相加。在计算光照反射时,经过物体材质的反射,光的颜色必然是经过削弱的,所以在计算光照反射时用颜色值相乘。颜色值相乘必然会使颜色值减小(物体更暗),相加必然会使颜色值增加更加接近1(物体更亮)乘的时候 颜色会变浅。...原创 2022-08-26 17:33:30 · 1384 阅读 · 0 评论 -
Unity NavMesh寻路
下面是最简单的NavMesh例子 点击地图 最右边的小格子会自动躲避障碍物移动到鼠标点。也可以打开 Window - AI - Navigation 面板。游戏吸引人是因为付出一点努力 就有正反馈。点Bake按钮就可以出现路径图了。放上NavMeshAgent组件。先创造地形 然后设置他们为。点这个设置也可以 效果一样。点击地上 cube会移动了。原创 2022-08-25 15:52:43 · 833 阅读 · 0 评论 -
Unity Addressables
addressables原创 2022-07-29 15:24:46 · 573 阅读 · 1 评论