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就开始移动了。

相关推荐
初见无风2 分钟前
2.7 Lua代码中的可变参数
开发语言·lua·lua5.4
七月稻草人15 分钟前
Rust 应用状态(App State)管理:类型安全与并发控制的艺术
开发语言·安全·rust
无敌最俊朗@42 分钟前
SQLite 约束 (Constraints) 面试核心知识点
java·开发语言·jvm
QX_hao1 小时前
【Go】--接口(interface)
开发语言·后端·golang
西西学代码1 小时前
Flutter---个人信息(1)---实现简单的UI
开发语言·javascript·flutter
superman超哥1 小时前
仓颉语言中正则表达式引擎的深度剖析与实践
开发语言·后端·仓颉
在坚持一下我可没意见2 小时前
Java 网络编程:TCP 与 UDP 的「通信江湖」(基于UDP回显服务器)
java·服务器·开发语言·tcp/ip·udp·java-ee
嘀咕博客2 小时前
h5游戏免费下载:HTML5拉杆子过关小游戏
前端·游戏·html5
西红柿维生素2 小时前
23种设计模式-框架中的使用
java·开发语言·设计模式
LNN20222 小时前
Qt creator +Valgrind检测内存泄漏(linux)
linux·开发语言·qt