自定义博客皮肤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)
  • 收藏
  • 关注

原创 Unity局部和世界坐标系相互转换的实现原理

本文是对Unity局部世界坐标系的相互转化的理论学习,附源码

2024-12-21 00:29:08 1290

原创 Unity A*算法实现+演示

A*算法代码实现+工程链接

2024-12-18 17:36:26 1041

原创 分离轴定理检测两个凸多边形是否相交

通过检查两个物体在所有可能的分离轴上的投影是否重叠,来判断它们是否相交。如果存在任何一个分离轴上的投影不重叠,那么两个物体一定不相交。否则,如果所有的分离轴上的投影都重叠,那么两个物体可能相交,需要进一步检查。如上图,我们可以找到一条分离轴(不唯一),使得三角形的投影线段HI和四边形的投影线段JK不重叠,则两个多边形不相交。

2024-12-09 00:46:26 548

原创 力扣1401. 圆和矩形是否有重叠

【代码】力扣1401. 圆和矩形是否有重叠。

2024-12-05 16:40:44 337

原创 Unity 代码实现OBB包围盒

可以理解为有方向的包围盒。

2024-12-05 10:49:13 467

原创 Unity 求坐标点在扇形区域内的投影

【代码】Unity 求坐标点在扇形区域内的投影。

2024-08-17 14:33:34 352

原创 Unity求向量和平面的交点

平面上的一点P0,直线L的方向向量。1.目标点T在直线上:T=L0+D*2.目标点T在平面上,则TP0垂直。最终再带回1式就能求出交点T。将1式代入2式,求得D,已知条件:平面P的法向量。

2024-08-16 14:16:31 408

原创 Unity求物体关于平面镜像对称后坐标以及旋转

如题,我在已知一个平面L和物体A,我希望得到镜像后的物体B的位置和旋转。

2024-02-18 22:00:42 1387

原创 Unity所有关于旋转的方法详解

我们在Inspector面板上看到的rotation其实是欧拉角,我们将Inspector面板设置成Debug模式,此时看到的local Rotation才是四元数。Unity中的欧拉旋转是按照Z-X-Y顺规执行的旋转,一组欧拉旋转过程中,相对的轴向不会发生变化。Transform.Rotate(new Vector3(30,60,30)),它代表执行了一组欧拉旋转,它相对的是旋转前的局部坐标朝向。正是这种顺规和轴向的定义,导致了万向节死锁的自然形成。

2024-02-17 20:52:34 9823 2

原创 Unity根据落点和抛物线运行时间,求初始力

在竖直方向只受重力,做匀加速直线运动,水平不受力,做匀速直线运动。

2024-02-03 12:31:37 736

原创 Unity通过物理带动实现传输带运输物品

遇到个听起来挺简单的需求,就是实现一个传输带,传输物品。但细想发现如果是直接设置物品的速度,或者通过设置父物体的方式带动物品,都挺不好,关联性太强。我们在移动平台的过程中,要动态更改两个BoxCollider的大小,这样就能保证传输平台一直有效。我发现这个API可以实现放置一个物品在平台上,平台移动,物品也可以跟着移动,非常的实用。接着就是思考无限运输物品的传输带怎么去做,这个可以参考循环滚动背景的思路,直接看视频。我们在Scene窗口隐藏平台的Mesh,看一下核心的运作原理,这里是有效传输的部分。

2024-02-02 10:36:44 1494

原创 Unity触发检测Trigger踩坑合集

绿色方块:刚体+碰撞盒+检测触发碰撞脚本蓝色方块:碰撞盒检测脚本:正常进出:绿色方块:刚体+碰撞盒+检测触发碰撞脚本蓝色方块:碰撞盒保持绿色和蓝色方块的接触对蓝色方块:显示->隐藏不会有任何效果,隐藏->显示会触发OnTriggerEnter对蓝色方块:激活->未激活,不会有任何效果,未激活->激活会触发OnTriggerEnter销毁蓝色方块:不会有任何效果。通过代码将蓝色方块瞬移到很远的地方,会触发OnTriggerEnter。绿色方块:刚体+碰撞盒+检测触发碰撞脚本蓝色方块:碰撞盒+刚体我给蓝色方块加

2024-01-30 12:31:55 1068

原创 UGC编辑器开发-代码实现物体旋转操作轴

工程百度网盘链接:链接:https://pan.baidu.com/s/1OYkt2T3Wv_Hh0Bt7nLyR-A提取码:1212。

2023-12-23 19:20:52 645

原创 UGC编辑器开发-代码实现物体移动操作轴

链接:https://pan.baidu.com/s/1atvfKceU1PnPPUE4mCEseg。

2023-12-14 19:32:04 592

原创 C#之扩展方法详解

(1).C#只支持扩展方法,不支持扩展属性、扩展事件、扩展操作符等。(2).扩展方法(第一个参数前面是this的方法)必须在非泛型的静态类中声明,扩展方法必须有一个参数,而且只有第一个参数使用this标记。(3).用一个扩展方法扩展一个类型时,同时也扩展了派生类型。

2023-12-02 20:23:29 2564

原创 Unity工具脚本-检测文件夹中有预制体引用指定Layer、指定脚本

先在菜单栏里面找到Tools/CheckPrefab打开窗口。

2023-11-27 20:02:22 836

原创 Unity针对XBOX,SWITCH,PS5手柄的适配踩坑

记录一点最近在做手柄适配问题的踩坑。这里推荐一款Unity做手柄适配的插件->Rewired官方文档链接Rewired插件里面有个是Player类,这个类获取到当前玩家的输入设备,输入的值等。我用Player.GetAxisRaw和Player.GetAxis发现对手柄而言,这两个API得到的结果都一样,只是在键盘处理上不同,结果如下。

2023-11-27 16:26:57 1765

原创 推导向量A在平面L上的投影向量

注意normal是单位向量,如果不是单位向量可以通过normal.normalized获得。如题:求向量A在平面L上的投影向量(图左) 即求。在平面L的法向量的投影坐标,所以代码就是。

2023-11-21 14:39:52 588

原创 开发日记:RawImage组件制作游戏小地图

RawImage是Unity UGUI中的一个组件,用于显示原始图片。与Image组件不同,RawImage可以直接显示原始图片的像素数据,而不需要经过额外的处理。1.指向的资源类型不同,Image指向Sprite,RawImage指向Texture;2.功能丰富性不同,Image组件可以实现Simple,Sliced,Tiled和Filled四种不同的Image Type;3.应用场景不同,Image多应用于某个ui的图片显示或者一些小图,而后者只有一个Texture和通过UV Rect控制显示;

2023-11-11 21:16:38 369

原创 Unity工具脚本-读取Excel

使用示例:保证Assets文件夹下有个名为“ExcelData”的文件夹用来存放所有的Excel表。

2023-11-08 19:15:42 198

翻译 开发日记:Unity获取网络时间

【代码】开发日记:Unity获取网络时间。

2023-11-04 19:34:25 279

原创 Unity基于Socket实现的简单聊天室

链接:https://pan.baidu.com/s/1MW8MzJjlfpY4SyATOnYKng。

2023-11-02 10:32:40 195

原创 开发日记:场地背景循环滚动

这里的场地背景是个面片近景远景。

2023-11-02 10:22:04 103

原创 开发日记:利用 AnimationCurve模拟自定义闪烁曲线效果

AnimationCurve是Unity3D里一个非常实用的功能。作用是编辑一条任意变化的曲线用在任何你想用在的地方。如曲线地形,曲线轨迹等。本篇利用AnimationCurve模拟闪电闪烁效果。

2023-11-02 09:50:46 429

原创 开发日记:Unity用铰链关节制作带重力感应的平台

点击编辑显示可以看到铰链的旋转限制。

2023-10-31 15:28:51 268

原创 开发日记:漂浮物漂浮脚本

视频效果:本质上做的简谐运动。

2023-10-26 21:27:42 163

原创 Unity优化之OnTriggerStay方案替换

但是OnTriggerStay是属于碰撞检测类的API,走的是物理检测,当使用数量情况比较大的时候,还是会消耗不小的性能。用空间换时间的思想,虽然代码量提上去了,但是减少了物理判定的性能损耗以及更加灵活了,我可以修改declineInterval去修改检测时间的间隔。OnTriggerStay: 当其他Collider在当前对象的触发器内停留时触发。缺点:物理性能消耗高,如果要改检测时间间隔,通俗的说是扣血密度,要在Edit - Project Setting - Time,里面进行设置。

2023-10-23 16:53:24 1325

原创 开发日记:Unity实现预测抛物线轨迹,轨迹动态检测碰撞物

【代码】开发日记:Unity实现预测抛物线轨迹,轨迹动态检测碰撞物。

2023-10-21 21:05:31 1118

原创 const和readonly关键字区别

1:const只能在字段的声明中初始化,readonly可以在字段声明或构造函数时初始化,相当于所有new的对象都只能被readonly修饰,而不能被const修饰2:const是编译型常量,readonly是运行时常量,const只能包含基元类型(int,double等)或枚举类型的常数,如果是引用类型只能是string字符串常量。而readonly字段可包含任何类型的常数,包括引用类型。

2023-10-17 22:23:40 181 1

原创 Unity工具脚本清空某个文件夹下的所有文件

【代码】Unity工具脚本清空某个文件夹下的所有文件。

2023-10-09 14:20:29 532 1

原创 DoTween循环动画踩坑

OnStart方法在循环中只会执行一次,(换成OnPlay也是一样的),我一直以为OnStart是Tween的每次动画开始时播放,其实不然,看一下官方的解释。但我们可以手动构造一个我们想要的OnStart的方法,我们可以借助OnUpdate在第一帧的时候执行。最近在用DoTween做循环动画时,代码如下。它只会在第一次播放时才会执行。

2023-09-28 12:51:17 423

原创 开发日记:Unity周期自转通用脚本

rotateangle数组 代表完成一次旋转度数,等待冷却时间,再进行下一次度数,如果数组里的旋转度数都执行完毕,再从头开始,

2023-09-28 11:35:12 196

原创 开发日记:Unity实现钟摆运动

transform.right对应x轴,transform.forward对应z轴,transform.up对应y轴。代码:如果想更改旋转轴,就更改rotationAxis,效果:物体绕着x轴做钟摆运动(基于局部坐标系)

2023-09-25 17:55:32 854 2

原创 TextMeshPro替换字体材质

TextMeshPro替换字体材质

2023-09-23 20:22:20 930 1

原创 开发日记:自适应画布的悬浮描述气泡制作

自适应画布的悬浮描述气泡制作

2023-09-02 18:56:30 114

原创 开发日记:模拟类似台球无损耗碰撞运动

小球设置:勾选trigger,锁刚体y轴位移,设置”Ball"标签。墙壁设置:墙壁的forward轴朝里,设置“Wall"标签。

2023-09-01 21:38:57 426 1

原创 开发日记:Unity 带刚体的立方体匀速翻滚运动

我给立方体加了个空物体,控制脚本挂在空物体上,再将立方体不需要旋转的轴锁住,以及x和z的位移锁住,只保留y的位移,目的是希望有一颠一颠的效果,如下:我因为是以物体的forward位移,所以锁住yz的旋转。需要给立方体施加个起始力,能刚好让它滚动的力,滚动起来后保持匀速,假设以物体的x轴方向移动,将XY的旋转锁住。代码:移动用的dotween,也可以自行换种移动方式。

2023-08-30 12:53:09 379 1

原创 Unity泛型对象池(逻辑层和表现层)

基于Unity制作的泛型对象池,可以对不同的类创建逻辑对象池,也对GameObject单独做了一个表现对象池

2023-02-07 17:12:47 766

原创 基于有限状态机实现角色逻辑控制与动画控制相统一(待机,移动,攻击)

基于有限状态机实现的2D角色的控制器,实现逻辑控制与动画表现相统一

2023-01-27 01:05:03 640

原创 Unity踩坑:解决ui自转时不停抖动Bug

解决ui自转时不停抖动Bug

2022-12-21 15:54:31 1268

空空如也

空空如也

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

TA关注的人

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