自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 unity urp 扭曲效果(半透明物体也可扭曲)

实现指定摄像机的热扭曲效果,并且半透明效果也是可以被扭曲的。

2025-03-21 09:25:20 420

原创 Unity urp实现红外效果(分层渲染,特效覆盖)

一、找renderer asset:菜单栏中点击Edit->Project Setting->Graphics->Default Render Pipeline->点击PC_RPAsset(你的可能不一样名字)二、复制并修改renderer data:找到renderer Asset中的renderer List中第一个renderer data,然后复制 ,命名为PC_Renderer_Infrared。在camera中选择renderer为 PC_Renderer_Infrared。

2025-03-19 16:24:08 1039

原创 unity3d 在rawimage上投射相机视野

unity3d 在rawimage上投射相机视野

2025-03-06 15:06:35 225

原创 unity 粒子系统实现碰撞检测(collision)且使粒子不受力

我在网上搜索到文章说将设置都置0,并且不选择三个Multiply就可以使得粒子不受力,但是我尝试后还是不行,所以决定用代码的方式修改粒子,让其保持属性。因为trigger虽然不会使粒子受力,但是在触发回调函数中,只能够获得被触发的粒子,较难获得激活物体。需求:通过碰撞检测的方式,获得粒子碰撞到的物体,并且碰撞之后,粒子的运动方向,旋转等物理性质都保持不变。勾选Collision ,碰撞对象层级可以在Collides With上选择。如图,选择之后,粒子只能碰撞到 Layer为EnemyRoot的物体。

2025-01-24 13:55:25 675

原创 unity 粒子系统设置触发

5、Visualize Bounds勾选上之后会看到粒子的盒子(可以理解为collider box,但是如果collision没被勾选,就不具备碰撞能力,只不过可视)4、Collider Query Mode 设置为All:表示列表中所有对象都是触发器。Disable表明列表中都不是触发器;3、将想要触发的方式(Inide、Outside、Enter和Exit)选择为”Callback“,其他默认为”Ignore“以上设置后的效果:当粒子的Bounds接触到以上列表中物体的collider时,会被激活。

2025-01-24 08:56:36 503

原创 unity中常用的物体移动方式

·用于将一个物体从当前位置移动到目标位置。API:代码示例:二、利用监听键盘进行实时的位置变化移动通过改变物体的属性,直接设置物体的位置,可以在方法中监听用户输入(如键盘按键)来实现物体的实时移动。代码示例:三、通过刚体进行单向移动()用于物体在物理模拟下进行移动。此方法不会直接设置物体的位置,而是通过物理引擎平滑地将物体移动到新位置。API:代码示例:四、通过刚体的力进行牵引移动()使用可以通过施加一个力来推动物体,适用于需要物理响应的移动方式(例

2025-01-07 16:09:49 407

原创 unity中异步和协程的区别

协程适合于处理帧间等待,或者需要使用每帧变化的物体位置信息。高级替代:unitask替代异步,unirx替代协程。异步适合于需要长时间等待的情况,比如。

2025-01-06 16:58:17 227

原创 unity免费插件之unirx

UniRx 是一个用于 Unity 的响应式编程库,它通过响应式编程的模式来简化事件和异步操作的管理。

2025-01-06 13:41:58 400

原创 unity 用代码控制物体围绕hinge joint旋转

Debug.Log($"当前角度:{currentAngle}");2.设置弹簧(这一方式可以实现物体通过关节移动)

2024-12-31 17:46:39 286

原创 unity Physics.Raycast方法

是 Unity 提供的一个物理射线检测方法,用于从一个点沿某个方向发射一条射线,检测是否与物体(带有Collider的物体)发生碰撞。

2024-12-30 15:57:37 604

原创 unity 粒子系统:用脚本控制粒子系统开始和结束

粒子系统的类型是:ParticleSystem;开始方法是:Play();结束方法是:Stop()勾选循环播放(looping)

2024-12-30 11:10:13 487

原创 rayfire for unity:使用bomb 或者gun摧毁物体

不能设置为inactive,这样会不可破碎,设置为dynamic,运行之后因为子物体的collider不是很贴合,所以会稍微错位,尝试之后,sleeping是最合适的类型。(2)子物体需要挂载collider。我尝试挂载mesh collider,无法破碎,换成box collider才行。·Object type=Mesh root ,因为父对象为空,下面才有子对象,并且子对象不是树状结构。·type = concrete(默认)。物体很坚硬,比较难碎片化,挑场合。这样在运行期间,物体才可以碎片化。

2024-12-27 16:13:16 382

原创 rayfire for unity:Debris控件

(1)On Demolition:在物体被损毁时产生粒子。

2024-12-26 14:20:40 207

原创 rayfire for unity :Activator组件

by local Position:Position List记录的是后一个位置相对于前一个位置的偏移量,并且动画开始时激活器的位置,就是点击运行时激活器的位置,不会自动将激活器移动到第一个position List位置上。(4)Scale Animation:运行过程中,激活器的最终尺寸,默认是1,表明运行过程中激活器的尺寸不发生改变。作用是,在运行前保存激活器的多个位置信息,运行后,系统会自动移动激活器。(1)Type:激活的类型,包括进入碎片时激活和离开碎片时激活。

2024-12-26 11:18:33 308

原创 rayfire connectivity组件 (rayfire for unity)

collapse中的type对应上面的类型;end对应上面最后的值;duration(持续时间)表明崩塌总共持续的时间值越大,上面的滑动条滑地越慢。当损毁物体(比如柱子)的中部,上部保持悬浮,此时需要给物体挂载rayfire connectivity组件。(3)为了避免稍微一打破连接就整体损坏的情况发生,需要为物体添加不屈部分。首先:在Rayfire Rigid组件中,勾选Unyielding。:表明瓦解的最小尺寸,如果碎片尺寸小于这个阈值,那么就会被激活。图片中的蓝色部分就是自动生成的一个聚集体。

2024-12-26 10:34:18 331

原创 unity:Ray Fire

的补充1.Rayfire Rigid组件挂载该组件,并且设置核心参数,实现:运行之后按下空格键,物体下落到地面,并且被损坏。对于一个物体,不需要有碎块,直接将Demolition设置成Runtime,并且挂载collider组件后,在运行期间。只需要给该物体一个力,物体就会破碎。运行前:不带碎片子物体;object Type是mesh,demolition type是Runtime;运行后:物体破碎表示碎片可以被再次碎片化的次数,默认是1(表明:碎片产生后,数量就不再改变,不再可分)。

2024-12-25 17:46:16 1267

原创 unity-UI 常用的UI组件

比如在TextMeshPro中增加Content Size Fitter组件, 并且垂直适应设置成Preferred Size(自适应成最佳尺寸)。效果:在运行过程中,当文本内容很多时,TextMeshPro的垂直尺寸会变大。适用于:运行过程中,ui物体(比如Text)中的内容数量不确定,需要在运行过程中,动态确定ui物体的尺寸。

2024-12-23 10:21:06 235

原创 unity UI 面板(Panel)

当ui界面上,控件太多,为了分区管理,可以使用面板:在uiCanvas的不同区域新增Panel,确定其锚点,然后以Panel为父物体,新增子ui物体。这样无论屏幕怎么变换大小,ui物体的相对位置是保持不变的。

2024-12-23 10:14:05 170

原创 unity UI Button(按钮)

拖入函数所在脚本所挂载的物体(这里是Canvas,不一定是Button本身),再选择:脚本名.函数名。点击按钮之后,就会执行该函数。explicit代表自定义,通过设置,可以确定在运行过程中,按钮之间的连接顺序。精灵就是图片,如果想在ui上使用图片,需要将图片的纹理类型设置成Sprite。1.过渡(一般选择颜色或者Sprite精灵)高亮颜色:(鼠标/射线)悬浮时,显现的颜色。选择可视化之后,可以看每个按钮直接的关系。按下颜色:被选中,即被按下时的颜色。绑定函数后,可以点击按钮,调用函数。

2024-12-23 09:39:16 248

原创 UI中的锚点和轴心

物体的position是相对于锚点而言的。并且锚点的形式改变(一个点,两个点、四个点)时,物体的position的含义也会改变。将锚点分成四个点,确定四条边的优点是,当屏幕大小发生改变时,内容在屏幕的占比,和相对位置不变。可以理解为物体的中心点。物体的旋转和缩放,以及相对于锚点的位置,都是由轴心确定。包含四个数值:最小x,y;物体上的小蓝点就是轴心。

2024-12-23 09:14:33 168

原创 制作unity导航网格

制作unity导航网格

2024-12-20 17:40:03 211

原创 unity基础

可以用于判断两个向量的方向夹角;如果大于0,说明夹角小于90;等于0,夹角等于90;小于0,夹角大于90。则用于需要平滑过渡的场景,例如动画、物体移动、镜头跟随等,确保在两个位置或状态之间平稳过渡。

2024-12-19 18:07:16 540

原创 unity 脚本生命周期以及控制脚本的执行顺序

将要先执行的部分放到awake方法中,另外一个放在start方法张。假设现在有两个脚本,都实现了start方法。

2024-12-19 14:18:47 97

原创 Unity C# Delegate(委托)、Event(事件)、Action和Func的区别和联系

赋予使用者过多权限。比如可以被直接赋值:delegate1 = delegate2;会导致delegate1容器中的函数丢失。

2024-12-19 11:29:29 226

原创 c# 实现IComparable接口,使用sort对自定义类排序

默认情况下,CompareTo是基于升序,与此对应的sort也是升序,即当前值大于传入值,返回正;如果想要通过sort实现逆序,那么修改CompareTo的返回值即可,即当前值大于传入值,返回负。自定义类实现IComparable接口时,需要实现CompareTo方法,此方法返回一个int值。

2024-12-19 10:25:39 143

原创 c# 接口

接口是一个可以包含方法、属性的类型。

2024-12-19 09:24:13 141

原创 c# 委托和事件

定义:可以理解为函数容器,可以储存一个函数(单播)和多个函数(多播)使用步骤:(1)声明委托类型;(2)实例化委托;(3)委托绑定函数;(4)调用委托单播委托是调用委托时只会执行一个函数。

2024-12-18 19:06:35 206

原创 unity xr交互:自定义手柄按键动作

将脚本绑定到Camera上,并且拖入创建的InputActionReference(在XRI中找)依次点击Right Interaction->Action 中+号。功能:通过按右手柄a、b按键,实现camera(头盔)上下移动。1.创建XR InputActionReference。

2024-12-18 14:34:00 301

原创 Unity XR射线交互

unity Xr 手柄射线交互,包括官方提供的回调事件和自定义回调事件

2024-12-17 13:59:52 665

原创 unity使用天空盒

4.可以将材质球直接拖入场景中,也可以拖入main Camera的Skybox组件(需要添加)中。直接将从资源商店下载的.exr文件拖入Scene场景中(靠下的位置)3.将exr文件拖入材质球的Cubemap参数中。2.修改材质的shader为Cubemap。

2024-12-16 13:49:05 272

原创 c++字符串分割汇总

https://blog.youkuaiyun.com/Hsuesh/article/details/114190471?ops_request_misc=&request_id=&biz_id=102&utm_term=cpp%E5%88%86%E5%89%B2%E5%AD%97%E7%AC%A6%E4%B8%B2&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-114190471.142^v82^ins

2023-04-11 14:13:42 78 1

原创 c++中的进制转换

num是一个int型的,是要转化的10进制数,str是转化结果,m为目标进制。

2023-04-10 19:51:45 1060 1

原创 c++中字母大小写互换

(1)转小写 :tolower()(2)转大写:toupper()

2023-03-28 17:04:03 247

原创 c++中字符检测函数(判断是不是字母...)

是返回非零,不是返回零。

2023-03-28 16:35:34 134

空空如也

空空如也

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

TA关注的人

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