# DoNotTouchMe **Repository Path**: lifesize/DoNotTouchMe ## Basic Information - **Project Name**: DoNotTouchMe - **Description**: 一个Unreal4开发的双人闯关游戏案例 演示视频:https://www.bilibili.com/video/BV16k4y1K7E6 涉及到的技术栈:状态机、AI行为树 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-11 - **Last Updated**: 2025-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DoNotTouchMe Developed with Unreal Engine 4.27.2 一个Unreal4开发的双人闯关游戏案例 演示视频: 【48小时极限开发的双人3D闯关游戏《DoNotTouchMe》 CiGA GameJam 2023】 https://www.bilibili.com/video/BV16k4y1K7E6/?share_source=copy_web&vd_source=241c57db77578084382bda1cfd8ef39d 涉及到的技术栈:状态机、AI行为树 ### 项目遇到的问题和解决方案: #### 1.双人同屏、俯视角,怎么让摄像机始终能看到两个玩家,且跟随两个玩家移动? 实现思路: 让摄像机始终指向两玩家之间的中点,并随两玩家间的距离作为倍数,设置摄像机与该中点的距离。 #### 2.各种角色都有许多种动画,怎么管理他们之间的状态切换? 状态机,在Unreal中已经为我们提供了动画蓝图这个东西,其中可以可视化编辑动画状态,对于人物的上半身和下半身,也是可以混合输出不同的动画的。以实现边走边砍、边走边抬头之类的动画混合的效果。 #### 3. AI的行为决策怎么做? 使用AI行为树,Unreal中的AI行为树是一种树状的数据结构,树上的每一个节点对应一种AI可以执行的任务和决策。树从根节点开始执行,并根据每个节点的逻辑遍历。当执行到某个节点时,它会根据当前的AI状态和环境决定执行哪些操作。AI行为树通常会读取和写入黑板中的数据,这些数据用于控制AI的决策和行为。通过修改黑板中的数据,改变AI的决策。