
Unity
文章平均质量分 71
Unity技术分享
大飞pkz
写写看看
展开
-
【Unity】使用XLua实现C#访问Lua文件
/修改lua数据,但不会对原lua文件造成影响。加载自定义文件夹下的lua文件(假设文件路径为Asset/Lua/test.lua)(2)使用LuaFunction优点:灵活性高,减少C#与Lua的桥接代码。先引入XLua文件中的Plugins和XLua文件夹于Asset文件中。,及时释放资源:luaEnv.Dispose();原创 2025-05-02 21:33:33 · 175 阅读 · 0 评论 -
【Unity】使用事件管理器的方式解耦MVP
传入的事件</param>/// <param name="name">事件对应名称 </param>/// <param name="name">事件对应名称</param>/// <param name="name">事件名称</param>/// <param name="name">事件名称</param>/// <param name="name">事件名称</param>/// <param name="name">事件名称原创 2025-05-02 00:28:49 · 620 阅读 · 0 评论 -
【Unity】MVP框架的使用例子
其中MVP与MVC最大的不同就是,View层的数据更新被迁移至Presenter层完成,这里的View层只负责数据的显示,不负责数据的更新操作,好处在于易于进行单元测试。在MVC的使用中,会发现View层直接调用了Model层的引用,即这两个层之间存在着一定的耦合性,而MVP则可优化MVC中存在的这个视图层与数据层之间的耦合问题。RolePresenter_MVP.cs:上为视图层中的组件绑定事件业务、直接更换视图层更新UI显示的数据,下能提醒数据层进行数据处理。2.运行游戏,点击按钮,生命值会减少。原创 2025-05-01 21:42:58 · 397 阅读 · 0 评论 -
【Unity】一个UI框架例子
/unityAction(string), string为InputField的整个文本。//unityAction(float), float为Slider改变后的value值。原创 2025-05-01 18:44:36 · 795 阅读 · 0 评论 -
【Unity】如何解决UI中的Button无法绑定带参数方法的问题
1.直接为Button绑定一个带参数方法,报错了。将该方法通过另一个方法进行封装即可。原创 2025-04-30 16:22:00 · 288 阅读 · 0 评论 -
【Unity】使用Socket建立客户端和服务端并进行通信的例子
socket.Send(new UTF8Encoding().GetBytes(newSocket.RemoteEndPoint.ToString() + "已经上线"));//监听Socket。//开始监听,若监听到访问则创建一个Socket表示与其的连接。//创建监听Socket,并绑定ip。//创建要连接的ip并尝试连接该ip。//告诉其他客户端,有客户端登录。//创建线程监听客户端发来的消息。//创建代表本地的socket。//接收来自服务端的消息。//设定监听最大数量。原创 2025-04-29 21:54:31 · 548 阅读 · 0 评论 -
【Unity】使用LitJson保存和读取数据的例子
LitJson 是一个轻量级的 JSON 解析和生成库,广泛应用于 .NET 环境中。优点:轻量级,易用,性能优秀,支持LINQ和自定义对象的序列化和反序列化。//可以把每个键值对都看成JsonData对象进行使用。//将数据转为字符串。//将字符串转为对象。//设有json数据。原创 2025-04-29 21:49:33 · 644 阅读 · 0 评论 -
【Unity】MVC的简单分享以及一个在UI中使用的例子
/初始化生命值,若在PlayerPrefs中没有这个属性则创建它,并将其的数值设置为100。MVC在游戏当中的使用:作为UI框架使用较多,M为数据层面,V为UI层面,C是连接和管理两个模块的业务层。Controller(控制层/业务逻辑层):处理业务逻辑,包括事件监听、触发数据更新、触发界面更新。有些小的项目只用一个脚本就能包括的逻辑,使用MVC框架后会增加结构的复杂性;Model(模型层/数据层):负责数据的处理、例如增删查改等等。//自己的单例(作为系统访问MVC的入口)原创 2025-04-28 22:48:47 · 1032 阅读 · 0 评论 -
【Unity】一个关于引擎缓存变量值的臭坑!
初步判断应该是Inspector会保存第一次值的问题🤔,如有其他见解,欢迎指正!或者在Start方法里对该变量进行赋值即可。然后你下次再去对这个值进行初始化,原创 2025-04-28 16:54:25 · 184 阅读 · 0 评论 -
【Unity】使用XML进行数据读存的简单例子
/创建hero节点。//创建name节点。//heros/hero[@id = 3]/name 获取hero节点中id=3的节点下的name节点。//heros/hero[position() < 3]/name 获取前两个节点。原创 2025-04-27 23:55:14 · 606 阅读 · 0 评论 -
【Unity】一个消息框架例子
Player触碰到Coin,Coin发送消息使得分数显示增加。//将MonoBase添加至receiveList。//给所有的管理类发送消息。//设置可接受的消息类型。原创 2025-04-27 23:51:34 · 922 阅读 · 0 评论 -
【Unity】3D人物残影效果
为新生成的GameObject物体添加MeshFilter组件,新建Mesh实例,将子组件里的mesh烘焙于该Mesh实例后,赋予该GameObject物体的MeshFilter。为新生成的GameObject物体添加MeshRenderer组件,并赋予对应的获取每一个子组件的材质。//获取该物体其下所有子物体的SkinnedMeshRenderer组件。//再为go添加MeshFilter组件并赋予其烘焙好的mesh。//烘焙renders的Mesh至new出来的mesh中。//设置go的位置和旋转。原创 2025-04-26 12:40:29 · 530 阅读 · 0 评论 -
【Unity】JsonUtility的使用小例子
** 创建Json*//** 解析Json*///keixo 19//1。原创 2025-04-25 22:06:05 · 354 阅读 · 0 评论 -
【Unity】写一个简单的异步加载场景
/创建一个进度监控对象。//设置需要被加载的场景先不显示。if(operation.progress >= 0.9f)//当加载进度大于等于0.9f时。operation.isDone)//场景未加载完成时执行。原创 2025-04-24 12:00:00 · 218 阅读 · 0 评论 -
【Unity】一个简单的有限状态机例子
StateMachine:状态机IOwner:状态机宿主接口StateBase(abstract):状态基类ChracterStateBase(abstract):宿主状态基类LeafState:叶子状态类CharacterController宿主控制类public class StateMachine2{public Dictionary<Type, StateBase2> stateDic = new();//状态列表public IOwner2 owner2;//宿主public StateBase2原创 2025-04-23 22:25:43 · 853 阅读 · 0 评论 -
【Unity】如何解决自建Mesh显示的贴图受光照问题——法线
new Vector3(-0.5f, 0, -0.5f),//左下角。new Vector3(-0.5f, 0, 0.5f),//左上角。new Vector3(-0.5f, 0, -0.5f),//左下角。new Vector3(-0.5f, 0, 0.5f),//左上角。new Vector3(0.5f, 0, -0.5f),//右下角。new Vector3(0.5f, 0, -0.5f),//右下角。new Vector3(0.5f, 0, 0.5f),//右上角。原创 2025-04-23 22:16:01 · 934 阅读 · 0 评论 -
【Unity】如何解决用脚本自建的Mesh无法正常显示纹理贴图的问题
运行后发现,将贴图拖拽给生成的Mesh时,无法正常显示该贴图内容(左边是生成的,无法显示。new Vector3(-0.5f, 0, -0.5f),//左下角。new Vector3(-0.5f, 0, 0.5f),//左上角。new Vector3(0.5f, 0, -0.5f),//右下角。new Vector3(-0.5f, 0, -0.5f),//左下角。new Vector3(0.5f, 0, -0.5f),//右下角。new Vector3(-0.5f, 0, 0.5f),//左上角。原创 2025-04-21 23:14:56 · 790 阅读 · 0 评论 -
【Unity】如何通过代码自定义绘制一个Mesh
3.找到AMesh右上方的三个点,由于我们在脚本中为其添加了[ContectMenu(nameof(Create))]特性,所以在点击右上方三个点后,就可以看到Create,在这里我们点击Create。而在用于顺时针构建三角形的数组triangle中,例如第一个三角形所用的三个点就是0,1,2 对应了vertices中索引为0,1,2的三个点,即为左上、左下、右下三个点。new Vector3(-0.5f, 0, -0.5f),//左下角。而0,3,2hui绘制则是顺时针的,它的方向则相反。原创 2025-04-20 23:13:47 · 615 阅读 · 0 评论