- 博客(25)
- 收藏
- 关注
原创 Unity2020+PicoNeo3Pro开发
摘要:本文详细介绍了在Unity中开发Pico VR切割方块游戏的完整流程。首先配置开发环境,包括Unity项目设置、Pico SDK安装、Android平台适配等步骤。然后详细说明了游戏场景搭建过程,包括XR玩家设置、舞台构建、光剑制作和敌人方块设计。重点介绍了使用ezy-slice插件实现方块切割功能的实现方法,包括切割算法、碎片处理和碰撞检测。最后讲解了测试运行和APK打包发布的注意事项。整个教程涵盖了从环境配置到功能实现的完整VR游戏开发流程,特别针对Pico设备进行了优化设置。
2026-01-10 13:05:06
1115
原创 Unity2022(LTS)新FPSDemo(上梯子)
本文在第一人称控制器基本运动状态基础上,实现了上直梯的功能。Player在直梯上可以实现上下运动、转身、跳跃(并离开梯子)、在梯子顶端和低端离开梯子等功能。
2025-11-03 09:39:54
320
原创 Unity开发——日拱一卒(十二)鼠标控制
本文介绍了Unity中控制鼠标的几种方法:1)通过Cursor类控制鼠标可见性和锁定状态;2)使用Windows API实现鼠标位置控制;3)模拟鼠标点击和滚轮操作。文章还提醒了平台兼容性、权限、移动平台适配等注意事项,建议合理控制API调用频率以优化性能。这些方法适用于PC端游戏开发,特别是需要精确控制鼠标行为的场景。
2025-10-28 09:56:54
621
原创 Unity2022(LTS)用代码控制窗口
摘要:Unity中可通过Screen.SetResolution方法动态控制窗口大小和全屏模式。窗口模式下设置width、height参数并设fullScreen为false;全屏模式则设为true。可结合UI按钮实现交互式切换,使用Screen.currentResolution获取屏幕原生分辨率以确保最佳显示效果。该方法适用于Windows/Mac等桌面平台,移动平台由系统自动管理全屏。注意发布设置中的默认窗口大小会被代码覆盖。
2025-10-25 22:19:16
654
原创 Unity开发——日拱一卒(十一)Transform组件
Unity中的Transform组件是游戏对象的核心组件,控制对象的位置、旋转、缩放和层级关系。它包含Position(位置)、Rotation(旋转)和Scale(缩放)三个核心属性,可通过脚本动态修改。Transform组件支持父子关系管理,父对象的变换会影响子对象。在脚本中,可通过transform属性访问和修改这些属性,并提供多种方法(如Translate、Rotate、LookAt等)实现对象控制。使用时需注意局部空间与世界空间的区分、旋转的万向锁问题及性能优化。Transform是Unity开发
2025-10-23 23:30:38
975
原创 Unity2022(LTS)新FPSDemo(行走/奔跑/跳跃/下蹲)
本文摘要: Unity第一人称控制器实现方案,通过CharacterController组件实现移动碰撞检测。核心功能包括:WASD移动控制(支持走/跑/蹲不同速度)、鼠标控制视角旋转、跳跃与重力系统、下蹲状态切换(含高度平滑过渡和头顶碰撞检测)。技术要点:使用射线检测地面和头顶障碍物,通过修改CharacterController的height和center属性实现下蹲,采用Move方法处理移动和重力。摄像机跟随通过父子物体层级关系实现,脚本封装了完整的输入处理、状态检测和运动逻辑。
2025-10-22 08:44:55
386
原创 Unity开发——日拱一卒(十)UnityEvent
本文补充了Unity开发中的内置事件与UnityEvent使用详解。第一部分补充介绍了OnDrawGizmos等5种常用内置事件的触发时机、功能差异及代码示例。第二部分重点讲解UnityEvent,包括其核心概念(C#委托封装+序列化支持)、4大特点(可视化配置/无需定义委托/类型安全/多订阅)、3种典型应用场景(无参/带参/代码动态绑定)以及自定义UnityEvent实现方法,并提供了道具拾取系统的完整案例代码。最后强调了注意事项。
2025-10-20 12:14:37
1086
原创 Unity开发——日拱一卒(九)Unity的内置事件
本文系统介绍了Unity中的事件机制,重点解析了内置生命周期事件。核心内容包括:1)事件的基本概念和Unity事件分类(内置事件、UnityEvent、C#原生事件);2)详细的生命周期事件流程,涵盖7个核心阶段(初始化、物理更新、逻辑更新、渲染、GUI、销毁、应用状态)及其关键事件方法(Awake、Start、Update等)的调用时机和作用;3)其他内置物理事件(碰撞/触发/2D/角色控制器/粒子系统等交互事件)。强调掌握事件调用顺序对编写高效脚本的重要性,并指出事件订阅管理和内存泄漏防范等注意事项。
2025-10-19 09:05:41
988
原创 Unity2022(LTS)实现基础AI导航
本文介绍了在Unity2022中实现AI导航功能的步骤。首先需要手动导入AINavigation包,创建场景并布置导航地面。接着添加玩家和敌人角色,为敌人设置导航组件和触发器范围。通过编写两个控制脚本:玩家移动脚本(WSAD控制)和敌人追踪脚本(触发后自动追踪)。最后进行功能测试和避障测试,验证敌人能否正确跟随玩家并绕过障碍物。该教程完整演示了从环境搭建到功能实现的AI导航基本开发流程。
2025-10-18 19:32:01
755
原创 Unity2022(LTS)URP渲染管线实现霓虹灯效果
本文详细介绍了在Unity中创建霓虹灯管效果的步骤。首先新建URP项目并搭建基础场景,包括制作灯管物体、添加触发器和刚体组件。然后编写两个核心脚本:一个控制灯珠移动并在碰撞时销毁,另一个定时生成灯珠克隆体。最后通过设置自发光材质、Bloom后期处理效果和调整相机参数,实现霓虹灯的光晕效果。测试时关闭主光源,即可看到带有光晕的灯珠在灯管中移动的视觉效果。
2025-10-17 13:44:27
1022
原创 Unity开发——日拱一卒(八)类
Unity开发中常用的类一半分为普通C#类和继承MonoBehaviour的特定类。普通类用于数据模型和工具方法,通过new实例化;MonoBehaviour类需挂载到GameObject作为组件,实现游戏逻辑。类包含成员变量和方法,使用访问修饰符控制可见性。MonoBehaviour类具有生命周期方法(如Start/Update),由Unity自动调用。主要应用场景包括组件开发、数据管理、工具类和单例模式。注意事项包括命名规范、序列化、静态类限制和资源释放。合理设计类结构对提升代码质量至关重要。
2025-10-16 09:19:21
666
原创 Unity开发——日拱一卒(七)协程
Unity协程(Coroutine)是一种能暂停执行并在条件满足后恢复的特殊函数,用于处理异步逻辑。其核心特点是通过yield语句实现分段执行,但仍运行在主线程。协程需返回IEnumerator接口,包含yield return语句来定义暂停条件(如时间延迟、帧结束等)。使用方式包括StartCoroutine启动、yield return控制恢复时机、StopCoroutine停止。主要应用于延时操作、平滑过渡、分帧处理等场景。需注意协程运行在主线程,停止需匹配启动方式,且受Time.timeScale影
2025-10-15 12:26:15
2172
原创 Unity2022(LTS)虚拟摇杆实现
本文介绍了在Unity中实现虚拟摇杆的完整流程。首先搭建项目场景,包括创建Player对象和地面。然后设置UI部分,添加Canvas画布并配置虚拟摇杆的背景、手柄和按钮图片。接着编写三个关键脚本:JoystickCtrl处理摇杆输入逻辑,JoystickButtonCtrl控制按钮状态,PlayerCtrl实现玩家移动、跳跃和颜色变换功能。最后测试验证各功能是否正常:摇杆控制移动、按钮A触发跳跃、按钮B随机改变颜色。整个过程涵盖了从UI搭建到代码实现的完整开发流程,可作为移动端虚拟摇杆的基础实现方案。
2025-10-14 13:25:10
2501
原创 Unity开发——日拱一卒(六)数组
本文介绍了C#数组在Unity游戏开发中的应用。数组是固定大小的同类型元素集合,包括一维、多维和交错数组等类型。文章详细讲解了数组的声明、初始化、访问和遍历方法,并介绍了System.Array类的常用功能。在Unity中,数组常用于管理游戏对象、UI元素、游戏数据和网格结构等场景,通过Inspector面板可方便地进行赋值。文章还指出了使用数组的注意事项,包括固定长度的局限性、性能考量以及避免越界错误等,建议在需要动态调整时使用List<T>以获得更好的灵活性。
2025-10-13 10:05:10
772
原创 Unity开发——日拱一卒(四)枚举
C#枚举(Enum)是一种值类型,用于定义一组命名的常量集合,通过有意义的名称替代数字,提高代码可读性和类型安全性。枚举支持显式赋值、基础类型指定、与字符串/整数转换,以及通过[Flags]特性实现位运算组合。在Unity中,枚举常用于游戏状态管理、角色类型区分、输入控制、UI导航和动画状态控制等场景,能与Inspector面板良好配合,方便非程序员配置。枚举的优势包括可读性、类型安全、易用性和可维护性,但需注意枚举不可继承、位枚举需按2的幂递增、转换时注意范围限制等事项。
2025-10-11 06:57:40
553
原创 Unity开发——日拱一卒第一次小结:单例、结构体、字典Demo
本文介绍了在Unity中整合单例模式、结构体和字典的实现方法。通过创建两个场景(InstanceScene和DictionaryScene),在第一个场景中构建跨场景不销毁的单例对象InstanceDemo,其中声明并初始化了以结构体PlayerData为值的字典。单例脚本提供了字典的增删改查等操作方法,第二个场景通过调用这些方法实现功能交互。项目实现了结构体定义玩家数据、单例模式管理全局数据、字典存储结构化数据的技术整合,并通过UI控件验证了各项功能的正确性。这种设计模式适用于需要跨场景共享数据的Unit
2025-10-10 08:37:05
916
原创 Unity开发——日拱一卒(三)字典
Unity中字典(Dictionary)的高效使用指南 摘要:Unity中的Dictionary是一种基于哈希表实现的键值对集合,具有O(1)时间复杂度的快速查找特性。本文介绍了字典的基本概念、声明初始化方法(包括使用结构体作为值类型),以及增删改查等核心操作。重点讲解了索引器访问、TryGetValue安全访问、键值遍历等实用技巧,并提醒开发者注意键的唯一性、空值处理及自定义类型作为键时的特殊要求。字典特别适合需要频繁通过键查找值的场景,相比List具有更好的查找性能。
2025-10-09 07:58:19
492
原创 Unity开发——日拱一卒(二)结构体
Unity中的C#结构体(struct)是值类型数据结构,用于封装小型相关数据。与类不同,结构体存储在栈内存中,传递时创建完整副本而非引用,修改副本不会影响原结构体。Unity内置了Vector3、Color等结构体处理轻量级数据。自定义结构体可包含字段、方法和构造函数,但需注意值传递特性(需用ref/out修改原实例)和初始化要求。结构体适合存储临时状态、配置数据等小型数据,但大型数据应使用类。使用时需权衡其性能优势与值传递特性带来的限制。
2025-10-08 10:30:16
1814
原创 Unity开发——日拱一卒(一)单例模式
本文介绍了Unity中单例模式的应用与实现。单例模式确保类只有一个实例并提供全局访问点,常用于游戏状态管理、UI管理等场景。文章详细说明了单例模式的典型实现方法,包括静态变量和Awake函数的使用,以及如何通过Instance调用单例。同时分析了单例模式的优缺点:简化全局访问但会增加耦合度。最后给出使用建议:避免重复实例、谨慎使用跨场景保留、仅对真正需要全局管理的类使用单例,并注意初始化顺序问题。
2025-10-07 09:38:07
506
原创 Unity2022(LTS)IK控制(二)手部枪械IK控制
4.执行游戏,观察一下手的位置是否正常,然后通过调整复制运行时LeftHandHint、LeftHandTarget、RightHandHint、RightHandTarget四个物体的位置值和旋转值(在运行游戏时调整位置和旋转,把Transform的值复制一下,然后停止运行游戏,粘贴到对应的物体的Transform里面),使得手臂看起来比较正常。然后把模型骨骼的大臂、肘、手部的骨骼关节分别拖动到Two Bones IK Constraint组件的Root、Mid、Tip对应位置。
2025-10-05 12:18:09
431
1
原创 Unity2022(LTS)IK控制(一)腰部IK控制
5.在UpperBodyConstraint下面添加一个空物体,命名为UpperBodyTarget,然后把它拖动到Multi-Rotation Constraint的Source Objects的列表里。3.在RigLayer下面再添加一个空物体,命名为UpperBodyConstraint,然后给这个物体增加一个Multi-Rotation Constraint。把第一人称摄像机放到腰部骨骼的节点下面,成为它的子物体,然后把摄像机放到合适的位置(眼睛),这样就可以通过控制腰部实现控制视角。
2025-10-05 12:16:58
504
原创 在unity2022(LTS)中添加中文字库的方法
1.在已经拖转进unity的字库文件上点击鼠标右键:Create→TextMeshPro(如果使用TMP类型的UI组件)或者Text(如果使用传统类型的UI组件)→Font Asset。这样,在UI中,就可以使用中文字体了。使用的时候,把新生成的字库资源,拖拽到UI组件的Font Asset字段中即可。1.找到:C→Windows→Fonts→选用的字体(双击打开)→扩展名为ttc或ttf的文件。2.拖拽到unity的Assets下面或者再下一级的某一个文件夹下(如新建的Fonts文件夹)
2025-10-01 14:24:53
615
原创 unity 3D FPS游戏(二)——简单的武器
1.在场景中添加一个圆柱体(Cylinder),reset一下之后,调整大小、方向和材质,使它变成一个长条形,使它的Z轴(蓝色轴)向外,就像一把枪一样,然后把它重命名为Gun,最后把它变成Player的子物体。在场景中创建一个空物体,放到枪口的位置,蓝色轴(Z轴)对外,名称改为ShootPoint,然后把它也拖拽到Player下,变成Player的子物体。6.运行游戏,测试一下,点击鼠标左键,就会发射出子弹,2秒后,子弹的克隆体就会消失。然后把Hierarchy面板中的Gun拖拽到Follow中。
2024-02-20 09:25:17
866
原创 unity 3D FPS游戏(一)——角色控制
创建一个胶囊物体(Capsule),作为角色的身体,也一样reset一下,然后把胶囊体变成Player的子物体;在物体身体的正前方偏上的位置增加一个正方体(Cube),调整大小和位置,作为角色的眼镜(可以把材质改为黑色或其他颜色),然后把正方体也变成Player的子物体。6.新建一个C#脚本,重命名为CameraCtrler,挂载到主摄像机上(Main Camera),把Player物体拖拽到CameraRotation内,并给鼠标灵敏度填写一个数值,运行游戏后,鼠标就可以控制物体旋转了。
2024-02-05 19:30:10
900
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅