自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 自动化生成持久化游戏管理器

自动化生成的持久化游戏管理器是一个指通过使用自动化工具和技术来生成游戏的持久化管理器的过程。这些管理器通常允许游戏设计师和开发人员定义和配置游戏状态的结构和规则,并提供易于使用的界面来访问和管理游戏状态数据。通过使用自动化生成的持久化游戏管理器,游戏设计师和开发人员可以节省大量的时间和精力,并加快游戏开发的速度和效率。这样可以看到在运行游戏时,出现了一个新的DontDestroyLoad的场景,在这里的游戏物体不会被销毁这样就完成了游戏管理器的持久化。自动化生成持久化游戏管理器就做好了。

2023-04-22 11:31:42 665 1

原创 UI Toolkit(2)

UXML (UIElements XML)是Unity的UI Toolkit中的一种XML语言,用于创建和定义UI元素的层次结构和属性。总之,UXML是一种用于构建和定义UI元素层次结构和属性的XML语言,它与UI Toolkit的VisualElement紧密结合,可以帮助UI设计师和开发人员更加高效地创建和修改UI界面。总之,USS是一种强大的样式表语言,可以使UI设计师更加高效地创建和修改UI元素的样式和布局,同时也为开发人员提供了一种方便的方法来管理UI样式和主题。

2023-04-16 21:35:17 627

原创 UI Toolkit(1)

在Unity 2021LTS版本之后UI Toolkit也被内置在Unity中,Unity有意的想让UI Toolkit 成为UI的主要搭建方式,当然与UGUI相比还是有一定的差别。在背景中添加多个视觉效果控件,将background 的颜色改为深色并更改透明度将边距改为4%,就获得了如上的效果。在文件夹中创建一个UI Document文件再打开就可以打开编辑的界面直接编辑了。添加背景图片后记得将Flex 中的grow 改为1,这样才能显示有背景的窗口。但不同的是这是UI的编辑界面。还有另外一种打开方法。

2023-04-09 10:56:38 1159

原创 Unity创建自定义脚本模板

所有的脚本模板都在unity的一个文件夹中右键编辑器版本,找到在资源管理器中显示。进入Data/Resources/ScriptTemplates可以看到这些就是unity内置的脚本模板你也可以自定义脚本模板但是自定义模板需要有几条规则如下fileExtension是文件的扩展名,你需要更改为你自定义脚本模板的扩展名,如cs。例如:此时在Unity中创建脚本显示为注意事项:一定要重启编辑器!一定要重启编辑器!一定要重启编辑器!

2023-04-01 16:09:17 939 1

原创 OpenGL学习

其中,glMultMatrixf()函数是OpenGL中的内置函数,用于将当前的变换矩阵与指定的矩阵相乘,并将结果存储在当前的变换矩阵中。变换矩阵通常是4×4的矩阵,其中前三列表示对象的方向和大小,第四列表示对象的位置。标量运算可以与向量运算结合使用,例如将一个向量的各个分量乘以一个标量,或将一个标量加到一个向量的各个分量中。需要注意的是,在矩阵和向量相乘时,矩阵的列数必须等于向量的维数,否则无法进行相乘操作。同时,由于矩阵和向量的乘法规则中的元素顺序是固定的,因此在编写代码时需要注意元素的位置。

2023-03-26 21:40:48 1109 2

原创 Unity对象池

在unity的2021版本后,Unity引入了对象池,从这以后就可以用Unity内置的对象池,这次我们就来演示一下Unity内置的对象池。

2023-03-18 17:04:51 1469 1

原创 Mesh网格编程(2)

该结构体还有一个静态方法 ScheduleParallel,该方法接受一个 Mesh 类型的参数 mesh,一个 Mesh.MeshData 类型的参数 meshData,以及一个 JobHandle 类型的参数 dependency。这段代码定义了一个结构体 MeshJob,其中 G 和 S 是泛型类型参数,分别表示用于生成网格的结构体类型和用于保存网格流数据的结构体类型。SetVertex的方法设置顶点数据在一个特定的索引,而“SetTriangle”设置三角形数据在一个特定的索引方法。

2023-03-11 20:42:37 475

原创 Mesh网格编程(1)

我们需要了解的两个区域是顶点区域和索引区域。顶点区域由一个或多个数据流组成,这些数据流是相同格式的顶点数据的连续块。尽管我们可以按任意顺序定义属性,但 Unity 需要每个流的固定属性顺序:位置、法线、切线、颜色、从 0 到 7 的纹理坐标集、混合权重和混合索引。不需要将每个属性放在单个流中,否则最多只能支持四个顶点属性。另一个极端是将所有属性放在一个流中。在这种情况下,属性按顶点分组,因此数据是混合的。由于我们有顶点位置、法线、切线和纹理坐标,我们可以将每个坐标存储在单独的流中。我们称之为多流方法。

2023-03-04 20:36:26 584 1

原创 FSM(有限状态机)

当你需要新的状态时可以直接设置脚本继承FSMControl,保证了代码的开放封闭原则,如果使用动画状态机的切换则需要直接更改原来的代码,运用FSM就可以直接创建新的脚本就能实现增加其他状态了。然后我们需要一个容器来保存当前的状态,用字典存储起来方便随后的更改下一状态随后初始化类,将字典创建,并添加两个增加和设置状态的方法,最后再每一帧执行。可以根据自己的条件去更改切换状态的条件,我这里设置的是5秒后改变状态为跑。接下来将展示其中的一个状态,以此类推可以写出其他的状态。首先用一个枚举列举出各个状态。

2023-02-25 22:18:07 552

原创 games101学习

shear变换直观理解就是把物体一边固定,然后拉另外一边。2D的线性变换有三种分别是缩放,剪切,旋转。旋转可以说是又一个十分重要的变换矩阵了。缩放变换是一种沿着坐标轴作用的变换。

2023-02-19 18:11:33 164

原创 OpenGL学习

GL_LINEAR线性过滤它会基于纹理坐标附近的纹理像素,计算出一个插值,近似出这些纹理像素之间的颜色。一个纹理像素的中心距离纹理坐标越近,那么这个纹理像素的颜色对最终的样本颜色的贡献越大。多级渐远纹理背后的理念很简单:距观察者的距离超过一定的阈值,OpenGL会使用不同的多级渐远纹理,即最适合物体的距离的那个。例如glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT);第二个参数需要我们指定设置的选项与应用的纹理轴。

2023-02-05 11:05:31 142

原创 OpenGL学习

Uniform是一种从CPU中的应用向GPU中的着色器发送数据的方式,但uniform和顶点属性有些不同。首先,uniform变量必须在每个着色器程序对象中都是独一无二的,而且它可以被着色器程序的任意着色器在任意阶段访问。每个着色器使用这两个关键字设定输入和输出,只要一个输出变量与下一个着色器阶段的输入匹配,它就会传递下去。顶点着色器需要为它的输入提供一个额外的layout标识。每个输入的变量也叫做顶点属性,能声明的顶点数量是有限的,这主要有硬件来决定OpenGL确保至少有16个包含4分量的顶点属性可用。

2023-01-21 23:06:14 274

原创 OpenGL学习

第二节课我学习了如何设置顶点并绘出一个三角形。这是学习OpenGL后写的第一个程序。这是由两个三角形组成的长方形。运行后出现了一个窗口。

2022-12-11 10:55:40 211

原创 C++指针

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,必须在使用指针存储其他变量地址之前,对其进行声明。声明方法:数据类型 * 名称如何使用指针呢int * p;//定义指针 p = & a;return 0;}这样就定义了一个指针并且给它赋值。并且指针只占了四个字节。

2022-11-07 08:35:20 209 1

原创 Unity ECS初学

DOTS 是未来游戏行业的趋势,面向数据编程使场景中存在许多游戏物体还可以保持高性能,目前部分游戏已经使用这种方式。而在2023年1.0版本的发布,面向数据编程正在逐渐走向成熟,于是我选择进行学习。

2022-10-16 11:15:27 1111 1

原创 AssetBundle学习

本次我们开始学习AssetBundle

2022-09-11 11:28:16 702 1

原创 Lua table表

Lua table表

2022-08-21 19:21:22 268

原创 Lua元表

lua元表

2022-08-14 20:14:49 105

原创 lua初学

lua初学

2022-08-07 20:13:10 86

原创 lua环境配置

lua的环境配置

2022-07-17 20:46:15 586 1

原创 Unity设计模式

单例模式

2022-07-10 20:07:40 523

原创 ScriptableObject

1.ScriptableObject 数据存储在 asset 资源文件中,类似 unity 材质或纹理资源,如果在运行时改变了它的值则就是真的改变了2.ScriptableObject 资源在实例化时是被引用,而非像 Prefab 或其他 GameObject 一样是复制,即实际场景中会存在多个 GameObject,所有 ScriptableObject 可以节省 memory3.传统保存数据并调用可使用 playerprefs、json、xml,而 ScriptableObject 提供了一种新的

2022-07-03 19:23:11 904

原创 暑假学习记录

元气骑士复刻2

2022-06-26 21:15:40 541

原创 暑假学习记录

元气骑士的复刻

2022-06-19 16:49:16 416

原创 Post Processing 后期处理

Color GradingModeTonemappingWhite Balance(白平衡)ToneTrackballsGrading CurvesModeLow Definition Range LDR。为低端设备提供的方案High Definition Range HDR。为支持HDR的平台提供的方案只能使用Linear ColorSpaceExternal 为第三方软件自定义的3D log-encoded Texture提供的方案只能使用Linear ColorSpaceTonem

2022-05-15 21:35:05 384

原创 Post Processing 后期处理

Post Processing(1)Ambient Occlusion(环境光遮蔽)Mode: Multi Scale volumetric Obscurance(多尺度体积遮蔽) Scalable Ambient Obscurance(可扩展的环境遮蔽)Intensity(强度):调节环境光遮蔽的强度。Thickness Modifier(厚度修改器):可用来修改阴影的厚度。Color:修改阴影的颜色。Ambient Only:仅限环境Auto Exposure(自动曝光)Filt

2022-05-07 16:48:41 544

原创 Unity粒子系统

粒子系统(3)CollisionTriggersSub EmittersTexture Sheet AnimationLightsTrailsCustom DataRendererCollisionPlanes:弹出菜单 选择 Planes 模式。Planes:用于定义碰撞平面的变换的可扩展列表。Visualization:选择要将 Scene 视图中的碰撞平面辅助图标显示为线框网格还是实体平面。Scale Plane用于可视化的平面大小。Dampen:粒子碰撞后损失的速度比例。Bounce

2022-05-01 21:12:41 4290

原创 Unity粒子系统

粒子系统(2)Inherit VelocityForce over LifetimeColor Over LifetimeInherit VelocityMode: 指定如何将发射器速度应用于粒子Current :发射器的当前速度将应用于每一帧上的所有粒子。例如,如果发射器减速, 所有粒子也将减速。Initial:每个粒子出生时将施加一次发射器的速度。 粒子出生后对发射器速度的任何改变都不会影响该粒子。Multiplier: 粒子应该继承的发射器速度的比例。Force over Life

2022-04-24 19:13:36 2471

原创 DoTween动画系统

DoTween(2)获取数据类方法AnimationCurve自定义函数设置运动曲线回调函数控制函数实例方法路径动画获取数据类方法DOTween.PauseTweens();获取暂停动画DOTween.PlayTweens();获取播放动画DOTween.TweensById(“ID”,true)为为true只获取当前播放动画IdDOTween.TweensByTarget(transform,true);为true只收集播放动画DOTween.IsTweening(“id”,true);检测

2022-04-17 15:11:48 1438

原创 Dotween动画系统

Dotween动画系统移动(Move)旋转(Rotate)震动(Shark)增量(Blend)材质(Material)相机(Camera)Text队列(Sequence)预添加设置参数SetEase设置运动方式回调函数控制函数获取数据类方法移动(Move) //对物体进行移动,前一个参数是坐标后一个是时间 //transform.DOMove(new Vector3(1,1,1),2);//世界坐标 //transform.DOLocalMove(new Vector3(1, 1,

2022-04-10 11:40:53 3789

原创 Unity粒子系统

粒子系统(1)Particle System:Emission:ShapeVelocity over Lifetime:Limit Velocity Over Lifetime:Particle System:Duration:粒子运行时间,若勾起Looping则没有效果Looping:是否循环播放。Prewarm:是否立即播放取消勾选可以调节Start DelayStart Delay:通过调节数值大小可以调节粒子的播放延迟时间。Start Lifetime:粒子的生命周期,可以理解为单个粒

2022-04-02 16:56:22 11676 1

原创 2D关节(二)

2D关节铰链关节相对关节滑动关节弹簧关节目标关节车轮关节铰链关节这里主要介绍新登场的属性Use Motor:是否使用电机。使用后可以配置Motor属性Motor Speed:电机速度Maximum Motor Force:设置在目标达到预定速度电机可以达到的最大扭矩(旋转力)Use Limits:选中此框可以限制旋转角度Lower Angle:允许的旋转弧上限。Upper Angle:允许的旋转弧下限。相对关节此处只介绍新出现的属性Max Force:此处的Max Force与其他

2022-03-27 08:03:18 164

原创 2D关节(一)

2D关节固定关节距离关节摩擦关节![在这里插入图片描述](https://img-blog.csdnimg.cn/ac137cd1f4ec46b98160fd0fbb34e539.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56ul6JCM5L6d54S2,size_19,color_FFFFFF,t_70,g_se,x_16)固定关节Enable Collision 选中此框可允许两个连接的

2022-03-20 12:29:37 4024

原创 寻路导航系统

寻路导航Agent界面area界面Bake界面Object界面Agent界面name:名字,是在导航网格上的物体需要设置的导航名称。radius:是物体的半径,在渲染网格会限制物体能行走的地方height:是物体的高度。step height:是能够上的台阶高度max slope:斜坡的高度area界面上面是地区的颜色,不同区域可以有不同的效果,也可以自行添加。默认的有可行走,不可行走,以及可跳跃。Bake界面着个界面可以渲染网格,你可以在这里设置,可走的半径,高度,以及斜坡的角

2022-03-13 13:01:04 158

原创 Unity初学

动画系统(1)Animation(旧动画系统)Animator(动画状态机,新式动画系统)Animation(旧动画系统)由上图属性组成,其中Animation是游戏物体初始的动画,通常为人物的站立等。Animations是其余的动画,可以在接下来的行为中展示相应动画play AutoMatically自动播放。Animate Physic可选择是否开启动画的物理,如行走动画播放时是否有位移。最后一个则是播放的类型。Animator(动画状态机,新式动画系统)Animator播放动画主要用

2022-03-06 15:36:49 3184

原创 Unity初学

关节Fixed jointFixed joint中文是固定关节,主要用于一个物体依赖一个物体的移动。并且在遭受一定力后会被破坏。固定关节的属性如下图所示其中Connected Body 是连接的物体如果为none则默认连接世界Break Force 是将其破坏的力,你可以规定破坏它力的大小。...

2022-02-18 18:28:54 2283

原创 Unity初学

太空大战Player游戏物体陨石游戏物体敌机游戏物体敌机以及玩家子弹游戏控制器Player游戏物体从官方案例中获取模型并导入到Unity引擎中,给Player加上碰撞体和刚体组件,使其碰撞到敌人,敌人子弹或者陨石时爆炸,同时给Player增加碰撞时的爆炸粒子特效。再给Player增加脚本实现上述功能public class control : MonoBehaviour{ public float Speed = 3F;//飞船移动速度 public Boundary bound

2022-01-30 20:42:31 1806

原创 Unity初学

UGUI(1)text控件image控件RawImage控件button控件text控件text主要用于插入文本,显示于屏幕上,往往简单表示要展示的内容UI也是游戏物体的一种所以也有它的组件右侧内容就是它的组件font是字体,font style可以改变字体的形态(如正斜,加粗),font size是字体大,line spacing是行间距。这些是text最基本的几个属性。rich text是富文本可以结合多种字体类型和大小。下面展示一些richtext勾选后在text文本里进行改变<

2022-01-23 19:44:22 2615

原创 Unity初学

roll a ballUnity面板1.Game窗口2. Scene窗口3.Hierarchy窗口4.project窗口5.Inspector窗口Unity面板1.Game窗口game窗口显示的是玩家在实际游玩时的游戏画面。2. Scene窗口Scene窗口显示的是在Unity编程时的效果,编程时进行的调整都是在Scene窗口进行的。并且在这个窗口内可以切换2D或者3D进行不同游戏类型的开发3.Hierarchy窗口这个窗口主要用于存储游戏物体,可以在此窗口创建游戏物体4.proje

2022-01-16 19:22:32 2398 1

原创 闭组会议总结

闭组会议总结本周18级学姐们在腾讯会议上给我们讲述了许多她们在寻找实习时以及工作的经验,对我们有许多的帮助,我听了学姐们的讲述,将一些重点记录了下来。1.如果想要从事数据分析:学习统计学。学习用Excel。机器学习。数学专业课一定要好好学,概率论在机器学习中很重要,不然会很难理解。2.如果想要从事算法岗:需要掌握算法,还需要好好学习数学。并且一开始对于普通二本学校,一开始很难找到实习,最好先在其他方面有一定经历,在去找算法岗的职业。3.找实习:大三下可以开始找,简历要有亮点。可以把项目写到简历里。可

2021-12-12 09:22:52 1254

空空如也

空空如也

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

TA关注的人

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