自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

游戏人生

分享技术

  • 博客(203)
  • 收藏
  • 关注

原创 webgl的一些细节

的时候 就是null。shader的绘制是这样的 先一个一个确认顶点 然后确定每个顶点对应到纹理的坐标位置。他先运行三次顶点shader 每次都确定 顶点位置 和 纹理坐标。shader里并没有用到u_texture1。等运行完了 就会调用像素渲染shader。因为这个变量被优化掉了 是得不到的。纹理左上角是00 右下角是11。他表示 gl_Position。假如你绘制一个三角形。

2024-02-27 19:58:21 364

原创 photo shop的js脚本导出png图片

【代码】photo shop的js脚本导出png图片。

2024-02-23 14:18:03 377

原创 关于图片预乘

很简单,就是把每个颜色分量都乘以他的Alpha值,如RGB,预乘后为(r * a, g * a, b * a)从感受上来说,只是程序员为了效率引入的东西,而实际上他还解决了以下几个问题。这样的做法可以加速图片的渲染时间,因为它避免了渲染时的额外乘法运算。b、可以和其他纹理一起正常混合而不打破批次渲染。a、解决纹理比例缩放映射产生的颜色错误问题。

2024-01-30 16:42:12 386

原创 chrome overrides 怎么用?

再去你创建的那个目录里查看 会发现 他自动帮你创建了目录。右键选择override content。在network里找到你想替换的文件。他会把线上的被替换目标文件放在里面。紧接着他会提示你 点允许。他会提示你选择文件夹。你直接修改他就可以了。

2023-12-04 19:10:02 653

原创 egret 底层渲染代码解析

比如 Bitmap 他的 $renderNode 就是 BitmapNode。Image 对应 NormalBitmapNode。这些node 都继承自 RenderNode。Sprite 对应 GraphicsNode。可以看到 参数都传到 drawData 里了。而 RenderNode 这个类是这样的。渲染其实渲染的是 $renderNode。他有一个 drawImage 方法。Label 对应 TextNode。Mesh 对应 MeshNode。以 BitmapNode 为例。

2023-11-28 14:12:10 107

原创 如何反编译apk资源

如果报错 DexBackedDexFile$NotADexFile。就在最后加上 --only-main-classes。他把资源输出到 demo文件夹里。下载 apktool。在这里下载bat文件。

2023-11-27 12:12:51 93

原创 egret spine 对接实现

一般来说 到这里的bone 已经处理过数据了 他里面的worldX 和 worldY可以直接使用了。RegionAttachment里的computeWorldVertices方法。里面监听了 egret.Event.ENTER_FRAME事件。他里面有一个 SkeletonRenderer。stride 代表写入一组数据后 跳过几个索引。worldVertices 是输出用的。offset 代表数组写入从几开始。这个是计算在世界坐标系里的位置。

2023-11-02 11:05:29 305

原创 Laya3.0 入门教程

然后定位到你自己的ts文件 直接在ts里断点即可 不需要js文件。如何代码加载并显示这个预制体dialog呢?这个时候你会发现 代码里可以直接点出来了。他会自动弹窗提示你 创建一个文本文件。然后 在 onAwake 里写代码。就会弹出 chrome的调试窗口。好 你需要场景里有一个按钮。点击右边的开发者工具。比如你打开一个新项目。里面显示的是当前场景。

2023-10-07 17:48:57 666

原创 Unity vscode 官方debug

然后重新生成 project files。把这个先unlock 再升级到最新的。打开 launch.json。

2023-09-21 11:25:39 288

原创 egret 经常爆内存不够

把node.exe指向你自己安装的node 试试看。里面的egret.cmd。

2023-09-05 16:39:34 150

原创 Chrome 调试技巧

有时候,qa测试会忽然出问题,然后需要你刷新界面,按照他的操作再来一次。可以让qa打开chrome里的这个选项。chrome自动断点 是不是特别方便?下面那个是在try的时候出错时暂停。是在遇到未try的错误时暂停。下面介绍一个更好的办法。

2023-08-02 18:36:43 315

原创 打开包含ts文件的文件夹 会非常卡 如何解决?

在那个文件夹里 设置一下这个就可以了。你会发现 打开文件夹非常丝滑流畅。

2023-07-03 11:10:12 1317 3

原创 Unity 遮挡剔除

最小物体的大小,在进行遮挡剔除时将用于隐藏其他物体。任何小于此大小的对象都不会导致被它们遮挡的对象被剔除。例如,值为5时,所有高于或大于5米的物体将导致隐藏在它们后面的物体被剔除(不渲染,节省渲染时间)。为这个属性选择一个好的值是遮挡精度和遮挡数据存储大小之间的平衡。最重要的一点 Smallest Occluder 一定要设置正确 不然不会触发阻挡。勾选上 就可以看到 剔除的效果 也就是说 被挡住的物体会消失不见。这个模式下 拖动摄像机才会隐藏被遮挡的物体。其实你会发现 触发遮挡剔除的范围太小了。

2023-06-28 14:45:32 837

原创 Unity 在场景界面 鼠标滚轮失效

只能右键转动视角,无法通过滚轮拉近远离镜头,非常麻烦。按一下 F 就搞定了!

2023-06-27 15:35:02 758 2

原创 Unity 安装负责音频的 wwise

Uninstall.exe 改成 unity.exe。去把unity之前改名的文件改回去 就可以了。然后运行 选择unity 可以看到这个界面。他会提示你 无法找到unity安装的地址。安装的时候要选sdk 就是20g的那个。半截他会提示你 关闭unity ide。4 .点击 Wwise 开始安装。1 打开你的 unity 编辑器。unity.exe 随便改个名。2 在unity安装的目录里。打开 wwise 的ide。unity里提示连接成功。直接项目里点 第二个。unity里也改一下。

2023-06-09 17:31:45 1548

原创 简易安装 OpenSSL

如果你装了git 他里面有一个openssl.exe。node的话 生成crc需要这样。我是win10 下这个。

2023-05-31 17:13:02 524

原创 Unity 图片格式优先使用哪个

ASTC是你的最佳选择!

2023-05-24 14:25:08 153

原创 Unity Shader variants (shader 变体)

可以看到这里 点那个按钮 会自动编译shader并打开shader文件。指定的第一个关键字是默认生效的,即默认使用变体A和EE。但依然是两个shader变体 一个是非A 一个是A。shader_feature的话 作用是一样的。不过他会删除 没有材质引用过的shader。如果没引用过的 也可以放在下面这个地方。你会发现编译后的文件显示的是这样的。四个变量(其实是开关 下面会说)2022版unity是这么说的。能用程序控制的shader。全局和局部声明了同样的名字。在打开的文件里面你会找到。

2023-05-23 19:07:19 1016

原创 Unity BehaviorDesigner (行为树) FSM(有限状态机) htn(分层任务网络) GOAP(目标导向型行动计划)

给一个GameObject添加 BehaviorTree 组件。

2023-05-22 14:55:39 447

原创 Unity A* Pathfinding Project

添加组件 AIPath Seeker AIDestinationSetter。还可以给player 添加 SimpleSmooth 组件。在 AIDestinationSetter 里 设定目标点。添加组件 PathFinder。下面就是效果 我把阻挡物隐藏了。创建一个gameobject。创建一个plane 当地面。这里填入阻挡物的layer。可以直接看到禁止行走的红点。这里填入地面的layer。这样移动的路线会平滑一些。创建行走的player。

2023-05-19 18:10:03 724

原创 Unity 2022 版本 寻路 NavMesh

可以直接bake 然后会显示蓝色的可行走路径。先给地图 和 阻挡 设置为静态。然后给地上行走的地方 添加组件。player 添加插件。

2023-05-18 17:22:43 1622

原创 Unity 官方对象池 随机值 ListPool LineUtility.Simplify

Unity的随机数是 UnityEngine.Random.value。

2023-05-17 11:09:50 354

原创 Unity 全新的输入系统

之前不设置 value 和 vector2 的话 是没有上下左右选项的。然后去package manager里把这个装上。也可以点 listen 他会监听你的输入是什么。记住 value 和 vector2。事实上 unity提供了非常多的选项。比如第一个 是键盘的 awsd。然后就可以 选择 上下左右了。path这里可以输入任何方式。第二个如图所示 是手柄的。你可以创建不同场景的配置。

2023-05-16 14:20:53 549

原创 leetcode最长回文字串

找个难的题去 力扣还挺有意思!还有一个中间扩散法 我没试。

2023-04-11 16:02:27 160

原创 Unity Physics2D 2d物理引擎游戏 笔记

Simulated:是否在当前的物理环境中模拟,取消勾选该框类似于Disable Rigidbody,但使用这个参数更加高效,因为Disable会销毁内部产生的GameObject,而取消勾选Simulated只是禁用。动力学刚体不受重力和力的影响,而受用户的控制,需要使用类似Rigidbody2D.MovePosition、Rigidbody2D.MoveRotation的方法。它于静态刚体一样,只与动态刚体会发生碰撞。我们做的是像素游戏,每一个像素都是宝贵的,一定要把抗锯齿关闭,否则画面就糊了。

2023-04-07 19:06:15 1973

原创 Unity YooAsset 热更资源

以工程内的音频文件为例:“Assets/GameRes/Audio/bgMusic.mp3”Enable Addressable 可寻址功能。加载资源的时候就可以不写路径了。当然你也可以自己设定名字的规则。

2023-04-03 16:47:11 541

原创 Unity 协程 Unity Task UniTask

使用 StartCoroutine 和 IEnumeratoryield return null 暂停执行并随后在下一帧恢复延迟1秒waitfor系列有好几个WaitForSeconds 和 WaitForSecondsRealtime 的区别使用缩放时间将协程执行暂停指定的秒数。实际暂停时间等于给定时间除以 Time.timeScale。如果要使用未缩放时间进行等待,请参阅 WaitForSecondsRealtime。

2023-03-31 16:48:19 2225

原创 Unity 未来要看的插件框架等

qframework actionkit 管理定时器的。ordin unity编辑器的。yooasset 资源管理的。QFramework 框架的。hybridclr 热更的。catjson json的。dotween 缓动的。unitask 异步的。luban 整配置的。

2023-03-31 11:23:22 257

原创 Unity 创建 Canvas(Environment)

Canvas(Environment) 会显示原来canvas下所有的内容 比如你在原canvas下放了一个文本 那么你打开任何一个拥有 Canvas(Environment) 的预制体都会显示那个文本。也就是说 如果你像我一样 希望模板纯净一点 不需要image 只需要一个空的gameobject 抱歉 是不行的。然后将image 拖拽成预制体 你会发现 他的根是 Canvas(Environment)所以 务必保证 Canvas(Environment) 下有可以渲染的内容。

2023-03-30 15:33:22 2109

原创 Unity HybridCLR 打包

比如热更出来的资源 如果挂了脚本 那么这个脚本会冲突 你会发现他读不到外面的数据。不然你会有两份代码 会出现奇奇怪怪的问题。本地调试的时候 就不要加载dll了。因为这个引擎太简单了 没啥可说的。使用起来非常爽 堪比网页。热更的资源 甚至可以挂脚本。前提是资源必须在ab包里。而且 必须优先加载dll。

2023-03-23 18:20:01 297

原创 Unity HybridCLR 入门教程

然后编译使用于自己测试的平台 我是win64。在这个路径找到编译出来的热更新dll文件。安装完毕后 设置一下 点这里。把你创建的程序集托到上面这里。创建自己的程序集用来热更新。然后开始创建热更用的类。

2023-03-20 19:10:25 846 2

原创 Unity 程序集概述

unity 程序集

2023-03-20 16:04:41 498

原创 Unity 编辑器开发

编辑器开发基本有四个Button在 GUI 系统里我最常用 EditorGUILayout。

2023-03-16 14:14:46 1023 1

原创 Unity Puerts 过滤器

如果返回值是 bool 值 并且 返回 true 那么就会变成 BindingMode.LazyBinding。默认是 BindingMode.FastBinding 也就是说返回 false 就是 FastBinding。有的项目,库特别大,一进游戏初始化一些内容的时候特别慢,查出来可能是这个导致的。如果返回true 就不会生成Wrapper里的代码了。后面的 Filter 会覆盖前面的结果 要注意这一点。不过你可以看到 他是for循环调用的。可以看看这个链接 官方提供的黑名单。

2023-03-08 15:13:10 164

原创 Unity 命令行发Android包

c#读 String[] arguments = Environment.GetCommandLineArgs();unity.exe 只允许存在一个 如果开了ide 或者之前的没关掉 就不能运行了。c#里输出的内容 都在Editor.log里。C#代码放到任意Editor目录里。里面有输出堆栈和内容方便调试。也可以在命令行里加参数。可以在ide的这里打开。

2023-03-03 11:12:14 448 1

原创 Unity 原神人物移动和镜头处理

你肯定会希望 SetTrigger run 就跑步 SetTrigger stop 就停止。而你移动肯定是每帧都在 SetTrigger 所以人物移动会抽搐。SetTrigger 会在下一帧自动设置回去。动作控制不要用 SetTrigger。最好的办法是 设置一个float。

2023-02-03 19:18:41 1570

原创 Unity 一键去掉所有输出

如果字符串不在这里就会不编译 调用这个方法的都会不执行。当然了 你输出的时候要使用。

2023-01-29 17:45:49 126

原创 Unity 摇杆插件 Joystick Pack

4.Variable 可以任意设置 上面三种类型 适合做王者荣耀那种 允许用户设置的。其实有joystick.Direction属性可以确定方向 但是他的源码是。3.Dynamic 是摇杆可以拖着走 很少见这么用的。在这个范围内都可以点击触发摇杆 和王者荣耀的一样。1.Fixed 就是摇杆不能任意移动。不停的new太恐怖了,还是自己算吧!这里的其中一个放到canvas里。2.Floating 可以移动的。

2023-01-18 18:06:42 915

原创 超级好用的Chrome调试技巧 H5游戏必备技能

比如 你希望 id == 2345 的时候 断点。如果你想知道鼠标点击 处理了什么 可以这么做。你就输入 id == 2345 就可以了。如果你希望 打印出一些内容就用这个命令。在里面输入你想要的变量就可以了。在chrome的代码里 右键。调试超大数组的时候 十分方便。他会直接在click处断点。他会让你输入一个表达式。

2023-01-06 15:18:45 305

原创 Unity github发布 和 gitignore文件的详细设置

然后使用命令 touch .gitignore 你会发现.git 同级目录出现了一个.gitignore文件。git 刚安装的时候 会让你选用什么换行符的 只是一般人选默认的。提示这个是因为 windows和其他平台的换行符不一样导致的。你做了一个unity项目 想给他提到github上去。github有一个官方的unity项目忽略文件。在 git bash 里 cd到你的项目。如果你是windows 他会不停提示你。你现在需要创建.gitignore文件。这时候你可以输入这个 设置一下。

2023-01-05 11:18:34 2004 1

空空如也

空空如也

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

TA关注的人

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