Unity3D仿星露谷物语开发67之创建新的NPC

1、目标

添加新的NPC到游戏中,同时台南佳NPC时间表来控制NPC移动。

2、配置NPCManager对象

设置defaultMovementPenalty为5.

3、创建新的NPC

将Assets -> Prefabs -> NPC中的NPC拖到Hierarchy -> PersistentScene -> NPCs下,并且重命名为NPC_Cora。

修改Sprite为Cora_0:

配置Animator信息如下:

在Assets -> Scriptable Object Assets -> NPCs下创建新目录命名为Cora,再创建子目录和实例如下:

然后把该实例赋给NPC_Cora对象:

4、编写代码

(1)修改NPCMovement.cs脚本

去掉[HideInInspector]的标记,使得可以显示看到该值。

然后设置NPC_Butch和NPC_Cora的Scene和Facing信息如下(两个一样的设置):

5、配置NPC

加载Scene3_Cabin场景,拖动两个NPC的位置如下,拖动完毕后再卸载Scene3。

6、设置Obstacle和Path

设置Scene3_Cabin的Obstacle:

Scene1_Farm的Obstacle之前已经设置好了,无需再设置。Path优化下如下:

Scene2_Field的Obstacle如下:

Scene2_Field的Path如下:

7、配置Cora的时间表

运行游戏

8点钟一到,Cora就开始移动了。

相关推荐
凡人叶枫14 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
Tony Bai14 分钟前
再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析
开发语言·后端·golang
小糯米60135 分钟前
C++顺序表和vector
开发语言·c++·算法
微祎_40 分钟前
Flutter for OpenHarmony:构建一个 Flutter 重力弹球游戏,2D 物理引擎、手势交互与关卡设计的工程实现
flutter·游戏·交互
froginwe1141 分钟前
JavaScript 函数调用
开发语言
阔皮大师1 小时前
INote轻量文本编辑器
java·javascript·python·c#
独望漫天星辰1 小时前
C++ 多态深度解析:从语法规则到底层实现(附实战验证代码)
开发语言·c++
无小道1 小时前
Qt——事件简单介绍
开发语言·前端·qt
devmoon1 小时前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity
一起养小猫1 小时前
Flutter for OpenHarmony 实战_魔方应用UI设计与交互优化
flutter·ui·交互·harmonyos