自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

残獄の世界に救いを

如果有代码看不懂,不用怀疑自己,就是对方写的太烂了。

  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

原创 rider内Mono脚本找不到引用资源

ide

2022-08-05 15:46:06 608 3

原创 unity性能优化方向

如果资源没有加载完成,Instantiate实例化之前会先加载资源,就会拖慢速度,所以我们需要根据配置在加载关卡时预加载这些资源。一个节点更新会导致整个canvas重建,虽然每个canvas占用了一个drawcall,但也要注意不要堆积太多不相关的模块在同一个canvas导致重建频繁。Mono虚拟机在我们释放内存后不会降低内存消耗,即只增不减,避免提高Mono中内存的峰值。一般用于场景和角色,内存会增加1.33倍,注意对UI无效,UI不要开启。太远的物体不渲染,也适用于计算,比如MC的区块机制。...

2022-07-18 16:33:24 1064 4

原创 unity不识别rider的其中一种解决方法

检查unity插件是否因未知原因被禁用了

2022-07-03 13:09:51 1573

原创 UI状态控制器文档

文章目录1 机制介绍2 使用方法2.1 创建一个控制器2.2 定义状态枚举2.3 创建子节点记录器2.4 将子节点记录器与控制器绑定2.5 设置子节点控制方法2.6 查看效果2.7 运行中修改状态3 实际效果![在这里插入图片描述](https://img-blog.csdnimg.cn/f1201dbbacdd47389b780a1e67246b33.gif)1 机制介绍UI状态控制器类似动画状态机,控制器持有一个状态,受控制器管理的子节点会根据当前的状态做一些改变。2 使用方法2.1 创建一个控

2022-05-18 22:20:27 352

原创 Excel配置规范

1 xlsx工具说明该工具用于解析xlsx中的数据,生成对应结构的C#代码、txt数据文件到指定目录。支持多层目录。2 配置格式前三行为固定格式,描述xlsx表数据格式第一行:字段名字第二行:代码注释第三行:类型2.1 支持的类型当前支持数据类型:int、float、string、bool、自定义类型、任何数组类型(不支持嵌套)2.2数组的定义连续字段认为为数组2.3 自定义类型的定义字段名称使用{0}-{1}的形式命名,则会自动生成结构体代码,其中{0}是自定义结构体的名称,{

2022-05-02 12:45:31 3596

原创 python脚本编译流程

文章目录1 设置虚拟环境版本2 添加打包模块3 添加打包工具4 测试1 设置虚拟环境版本编译器下载 官网www.python.org下载慢正常,有膜法上网会更好一些。国内可能有镜像站,我没找到首先python版本选了3.9.12,编译的模块pyinstaller没有支持最新版本3.102 添加打包模块在pycharm中打开setting,添加pyinstaller模块。3 添加打包工具同样在File->Setting中选择Tools下的ExternalTools,添加打包工具,工具

2022-04-23 19:39:59 2400

原创 unity rider emmylua找不到索引的问题

在unity的Edit,把lua类别添加到工程

2022-01-03 13:00:49 3033

原创 记个unity打包的坑 unity error code 1

在打包过程中打印LogError标签的日志可能会导致打包结果的状态是失败的。目前测试过的,安卓没有影响,ios引擎内编译也没有影响,ios使用批处理模式编译遇到logError标签的日志会判定打包结果失败。...

2021-12-14 12:24:28 2934

原创 rider 断点失效解决方案

删除工程下的.idea即可

2021-11-25 16:36:53 2384

原创 Unity SDK相关总结

1 安卓相关1.0 Android打包需要jdk,sdk,大概是1.7~1.8的jdk太高的版本可能不行。1.1 Unity Android打包原理Unity大概是构建了一个只有一个MainActivity的原生安卓,然后将C#的代码跨平台转换成java的UnityPlayer类,在Unity工程Plugins/Android下的库文件则会成为安卓工程的库文件。1.2 注意事项/// 1 AndroidManifest.xml,Unity的Bundle Identifier,SDK开发者申请的推

2021-11-19 19:23:13 5711

原创 Unity图集初始化参数设置

生成图集时修改一部分参数// ******************************************************************// /\ /| @file AtlasGenerator.cs// \ V/ @brief 图集生成器// | "") @author Shadowrabbit, [email protected]// / |

2021-11-19 15:41:07 3096

原创 P4V踩坑 文件拉取后自动转行

编码没选Unix后,所有代码都会加一行换行。解决方案,更改workspace设置后,再强制拉取一遍

2021-11-15 19:52:19 1099

原创 拉比Style Rider工作流

1 函数联想模板配置https://blog.csdn.net/qq_29799917/article/details/1200006052 文件模板配置https://blog.csdn.net/qq_29799917/article/details/1059825463 插件配置1 Background Image Plus用来修改编码背景,二刺螈主题必备2 Rainbow Brackets多层括号嵌套时,改变颜色来区分3 Emmylua有Lua编码时用这个就对了 另外注释参照Emm

2021-10-25 16:55:53 189

原创 git何如修复合并时被误删除的代码

合并时冲突,移除别人的代码后提交,服务器中最新版本是移除代码的版本,后续也无法将之前的代码通过合并的方式找回(因为移除的操作比提交晚)1.立即叫停所有git提交此时git版本库已经错误,在修复之前更多的提交会带来更多的修复难度。2.找到发生错误的节点,和发生错误后的最后一个提交节点标记这两个节点,最好打上标记,回退到发生错误的版本后,会看不到发生错误后的分支节点。2.1如何找到发生错误的节点?下图展示了红色分支合并到橙色分支的过程,合并后被选中的橙色节点,应包含整条红色分支的内容,下列记录中只有

2021-10-20 11:46:22 1694

原创 美术和策划需要了解的git基本操作

文章目录1.git可视化工具2.安装3.初始化配置4.添加工程5.初始化工作流6.基本概念与窗口介绍7.基本的操作流程7.1 提交7.2 清理暂存7.3 拉取7.3.1 成功的拉取7.3.2 发生冲突的拉取7.4 推送8 一些需要注意的点1.git可视化工具采用直观性强的sourceTree 下载地址2.安装3.初始化配置这部分程序会熟悉。找程序帮忙。1.生成rsa私钥2.将私钥配置到gitlab3.找到生成的秘钥,配置到sourceTree中4.添加工程如果工程存在选择Add,

2021-09-29 15:16:32 660

原创 2021年米哈游unity社招面试经历

文章目录简介一面二面三面&四面简介我面试的岗位一共4轮,第1轮是电话技术面试,考察范围广,不细问。第2轮是视频面试,需要牛客网手写算法。第3轮是制作人,第4轮是BP。流程比较慢,投递到邀请面试大概过了一个月,面试一周多,offer审批流程又过了一周。一面1.自我介绍2.Astar算法了解么?说下Astar基本概念3.C#闭包概念,什么情况下闭包会产生gc4.是否了解C#中unsafe用法5.编译方式是否是il2cpp6.值类型与引用类型的区别?哪些数据类型是值类型,哪些是引用类型

2021-09-28 19:10:38 17518 16

原创 Rider 函数联想模板

1 添加新的模板2 函数域注释模板--- @brief--- @publicfunction $CLASS$:$FUNCTION$() $END$end--- @brief--- @protectedfunction $CLASS$:$FUNCTION$() $END$end--- @brief--- @privatefunction $CLASS$:$FUNCTION$() $END$end3 设置引用定义...

2021-08-30 16:54:18 456

原创 结构体反射

// ******************************************************************// /\ /| @file StructReflectionTest.cs// \ V/ @brief // | "") @author Shadowrabbit, [email protected]// / |

2021-08-30 16:40:00 189

原创 Unity美术字体创建

1 下载Adobe AIR原官网已经宣告放弃支持了,Adobe AIR现由harman维护。这是字体创建软件的底层支持库。https://airsdk.harman.com/runtime2 下载字体制作软件ShoeBoxhttp://renderhjs.net/shoebox/3 制作字体文件3.1 散图做成图集(如果已经得到图集则跳过)设置按下图,先确保能正常制作图集再做细节上的调整。3.2 图集制作fnt字体文件注意字符上的顺序与图集识别的顺序必须一致3.3 根据字体文

2021-08-24 12:55:14 364

原创 Rimworld Mod制作教程12 集群AI机制介绍

简介相信看过上一章关于AI的介绍,你应该对行为树的基础知识有一些了解,并且知道游戏中角色AI是基于行为树实现的。在这一章我会简单介绍一些集群AI是如何工作的。什么是集群AI?集群AI听起来好像很复杂,实际上集群AI就是一群角色使用同一个AI而已。创建一个行为节点的实例,想办法让一群角色当前执行这个节点实例,这样就实现了集群AI。RimWorld源码中有没有一个节点用于集群AI?有的,RW中有一棵额外的行为树叫做“LordDuty”,其中一个被挂载的节点是“ThinkNode_JoinVolunt

2021-06-11 15:03:13 1585

原创 动画控制器继承生成编辑器

功能解析fbx文件为anim文件,根据基类动画控制器生成一份子控制器,根据命名规则找到anim对应的动画节点并覆盖。之后根据模型文件创建个变体存到客户端使用的目录下供战斗系统调用。代码// ******************************************************************// /\ /| @file EditorAnimatorControllerGenerator.cs// \ V/

2021-06-10 11:21:14 172

原创 Rimworld Mod制作教程11 角色AI介绍JobGiver and ThinkNode

文章目录基础知识源码分析ThinkNode行为节点JobGiver复合节点ThinkNode_Priority条件节点ThinkNode_Conditional其他节点结语基础知识游戏中的AI一般使用状态机或行为树来实现。状态机适用于简易的AI。Rimworld中使用的是行为树。下面给个链接了解一下,有很多优秀教程我就不赘述了。行为树介绍源码分析看了上面的链接之后相信你对行为树应该非常精通了。4种节点action(行为),composite(复合),conditional(条件),decorat

2021-05-20 10:41:37 1544

原创 判断点在扇形内

原理假设已知扇形半径 弧度 朝向 圆心点想判断任意点P是否在扇形内,需要两个条件:1.点P与圆心O的距离不大于 朝向与扇形的交点A到圆心O的距离2.角AOP的度数不大于扇形度数/2代码--- @brief 判断某个点是否在扇形内--- @public--- @param _degree number 扇形的弧度--- @param _radius number 扇形的半径--- @param _startPos UnityEngine.Vector3 角色所在的位置 扇形的圆心---

2021-05-13 10:30:06 1991

原创 同向法判断某个点是否在三角形内

原理假设有三角形ABC与任意点P, 则如果点P在三角形ABC内时, 满足点P在向量AB,BC,CA的相同侧,即在三个向量的左侧或者右侧。对于向量AB,C点永远在AB的左侧或右侧,所以只要P点与C点同侧,P点就在向量AB的左侧或右侧。对向量AB,AP和向量AB,AC做叉乘运行,可以得到两条垂直向量,若这两条向量同向,则可以证明P,C相对AB同侧对三条边分别计算即可证明P在ABC内。该原理对多边形也适用代码// ******************************************

2021-05-12 15:37:07 565

原创 Rimworld Mod制作教程10 角色工作机制JobDriver

简介RW中角色行为相关的部分由JobDriver实现。例如搬运,睡觉,屠宰job与toil首先有一个概念要理解,job与toil都是工作的意思,但关系是一个job包含多个toil。toil是工作中一个具体的环节步骤。比如搬运的过程,1.小人走到物体;2.抱起物体;3小人走到储存区;4.丢下物品这四个步骤连续在一起称为一个job,每个步骤称为一个toil。核心APIprotected Toil CurToil; 返回当前进行的toilprotected LocalTargetInfo Targe

2021-05-11 20:42:38 2168 3

原创 简易的lua面向对象模拟

简介一个表作为class的定义,改写元方法__call作为实例化方法class作为实例的元表,superClass作为class的元表定义了构造函数和析构函数作为实例化的回调方法代码-- ******************************************************************-- /\ /| @file Class.lua-- \ V/ @brief lua面向对象模拟--

2021-04-28 10:18:00 187

原创 github下载上传过慢的解决方案

github拉项目开了梯子还是20k/s,拉项目的时间就查了查怎样能加快一点速度。镜像的方案亲测有效,下载速度很快,但问题是他的git地址也是镜像的,没办法推送,只能下载的时候用用。其次是修改dns解析地址的方案,也试过了,有效,速度大概可以达到200k~1M,100M的网络。在http://tool.chinaz.com/dns上查询github.com与http://github.global.ssl.fastly.net的dns解析地址在host里追加绑定在cmd里输入命令 ipconfig

2021-02-28 17:14:29 273

原创 Rimworld Mod制作教程9 角色想法相关解读

文章目录1 想法核心机制流程2 各部分类介绍2.1 Pawn_NeedsTracker2.2 Need_Mood2.3 ThoughtHandler2.4 SituationalThought2.5 SituationalThoughtHandler1 想法核心机制流程当一个想法生效,从最底层到生效,所经历的顺序应该为:Pawn实例的Tick()->Pawn_NeedsTracker实例的NeedsTrackerTick()->Need_Mood实例的NeedInterval()-&

2021-02-11 15:51:39 1000

原创 仿方舟奖励列表(左半部分)移动按钮列表组件

文章目录效果图源码编辑器源码效果图源码// ******************************************************************// /\ /| @file MoveButtonlist.cs// \ V/ @brief 移动按钮列表组件// | "") @author Shadowrabbit, [email protected]//

2021-01-26 15:49:29 169 2

原创 状态按钮组件

原理非常简单的互斥按钮组件,不多介绍了代码// ******************************************************************// /\ /| @file StateButton.cs// \ V/ @brief 状态按钮组件// | "") @author Shadowrabbit, [email protected]//

2021-01-18 19:00:23 124 1

原创 弹窗屏幕坐标修正组件

效果原理把UI坐标转换到屏幕坐标,在屏幕坐标系下做越界处理,之后转换回UI坐标系代码// ******************************************************************// /\ /| @file DialogScreenPositionFix.cs// \ V/ @brief 屏幕坐标修正弹窗(修正弹窗UI超出屏幕)// | "") @aut

2021-01-14 17:54:16 193 2

原创 unexpected symbol near ‘<\239>‘

lua的require方法导入模块时报错unexpected symbol near ‘<\239>’原因是文件可能是UTF8+BOM编码,解决方法是设置文件的编码为UTF8 without BOM。可使用editplus查看每个文件的编码。[UTF-8+]标记的就是带有BOM的编码,更改成无BOM即可。...

2021-01-07 10:31:49 3772

原创 C#代码规范

C#命名规范1.Types and namespaces(类型与命名空间)->大驼峰2.Interface(接口)->“I”+大驼峰3.Type parameters(泛型参数)->“T”+大驼峰4.Methods(方法)->大驼峰5.Proterties(属性)->大驼峰6.Events(事件)->大驼峰7.Local variables(局部变量)->小驼峰8.Local constants(局部常量)->小驼峰9.Parameters(

2021-01-04 14:14:51 325

原创 2020年B站unity社招面试经历

文章目录废话一面二面三面废话阿B的面试绝对是这几家里印象最深刻的。 因为问题太少了,流程太快,搞得自己总以为被pass了。作为一个老二次元肯定还是更喜欢阿B的。阿B不仅有年轻人喜欢的文化,福利制度也更人性化。不加班的游戏公司真的不多了。阿B不仅不加班,年终奖也不少发。阿B一共3轮面试,一面是招聘部门技术面试,二面是其他部门交叉面试,两次面试可能难度差不多,主要看面试官风格。三面是HR面。B站审批流程不是很快,我在3面确定通过的情况下等了6天才拿到正式offer顺利入职。一面1.自我介绍,工作经历

2020-12-30 02:06:58 3188 2

原创 2020年盛大unity社招面试经历

文章目录废话盛大一面盛大二面盛大三面废话盛大一共有4轮面试,1、2轮是技术面,第3轮是HR面,终面需要和直系上司聊聊。两轮技术面是两个部门交叉面试,未必会更难,取决于主程喜好。盛大一面1.对代码风格有什么见解2.平时看哪些书?3.对FSM有限状态机有什么了解4.你对xlua有什么了解5.对lua元表有什么了解6.如何实现lua面向对象特性7.xlua和cs交互有了解么8.资源管理器大概做到什么程度(简历项目)9.项目大了之后资源是如何分类的?10.你上一个项目的资源管理是什么做的?

2020-12-16 14:25:51 1373

原创 2020年网易unity社招面试经历

文章目录废话网易一面网易二面废话总的来说,网易的一面难度高一些,二面问的都是项目,相对容易回答,一面会尽量问基础,问底层,基础知识不好的话很容易挂在一面。网易一面1.自我介绍2.问了问双学位相关3.是否离职,目前在哪4.之前项目框架是怎样的5.UI滑动翻页组件怎么实现的6.IDE模板是做什么的7.主要逻辑在cs还是lua8.项目组有多少人9.红点系统怎么设计的10.C++相关的问题,简单讲讲多态11.STL相关12.interface与抽象类区别13.cs的字典底层的数据结构

2020-12-16 10:44:29 4644 14

原创 Rimworld Mod制作教程8 使用jetbrain rider编写mod

文章目录核心内容1 使用jetbrain rider编写mod1.1 下载1.2 C#代码编写1.2.1 创建新项目1.2.2 添加依赖库1.2.3 修改输出路径1.2.4 编写和打包1.3 编写xml数据定义1.4 逆向工程1.5 常用快捷键1.6 其他核心内容1 使用jetbrain rider编写mod1.1 下载下载地址官网1.2 C#代码编写1.2.1 创建新项目new solution 创建新的解决方案选择项目类型为Class Library为项目命名,以及选择存放路径1.

2020-12-14 15:27:08 1741 1

原创 ugui 点击tab触发补充滑动

效果点击视野范围边缘的tab按钮时触发一段滑动,将被点击的按钮移动至视野中心,如果tab按钮长度不够则滑动到最大值1.补帧动画用DoTween插件做的滑动补帧动画,用Unity的协程也可以。public class UIScrollRect : ScrollRect { public bool IsPlaying => _isPlaying; private bool _isPlaying; /// <summary> /// 进度补帧动画

2020-10-12 15:42:09 163 2

原创 ugui滑动控制动画播放进度

介绍类似的玩意当我还是个安卓程序员的时候就用过很多了。只不过ugui里没有viewpaper可以用,需要我们自己写个组件。然后动画要配合animaiton了。实现过程1.滑动事件封装基本上原封不动把滑动相关参数封装起来做成事件,把回调方法预留出来。using UnityEngine;using UnityEngine.Events;using UnityEngine.EventSystems;public class UISpriteDraggable : MonoBehaviour, I

2020-09-09 12:00:56 264

原创 ugui事件传递

问题设想当前有A,B两个同级UI,按钮A在布局B上面,A有点击效果,B有滑动效果,现在需要在A上进行滑动操作时B滑动,并且A仍然支持点击。思路由于ugui默认只有一个UI接受射线并分发事件,导致在A上滑动时,滑动的事件和参数一定会终止于A,我们需要一个机制让事件传递下去,直到我们想要的目标B。实现实现原理也比较简单,我们编写一个组件用于传递事件,在触发ugui的事件时,重新发射一次射线,然后把挂载了这个组件的物体和当前的物体过滤掉,就可以找到我们想要的底层UI物体,把相关的事件再发给这个物体就好

2020-09-09 11:25:33 703

vcredist_x86.rar

安装lua IDE时需要的运行库 安装lua IDE时需要的运行库

2019-06-15

空空如也

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

TA关注的人

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