打开上一篇24AssetBundle上传加载u3d模型的项目,
本章要做的事情是在项目运行14秒后生成一个怪物鲸鱼,并且怪物鲸鱼会根据路径点自动巡航
在资源商店免费下载怪物模型
重命名为MonsterWhale
创建一个空物体
重命名为Path
在子级下创建小球Sphere作为巡航点
Ctrl + d复制到四个 按照顺序摆放
新建脚本文件夹:
新建脚本:AutoWayPoint.cs
using UnityEngine;
public class AutoWayPoint : MonoBehaviour{
public Transform[] wayPointArray;
float speed = 0.001f;
int currentIndex = 0;
void Start(){
Transform path = GameObject.Find("Path").transform;
if (path != null){
wayPointArray = new Transform[path.childCount];
for (int i = 0; i < wayPointArray.Length; i++){
wayPointArray[i] = path.GetChild(i);
}
}
}
void Update(){
Vector3 direction = wayPointArray[currentIndex].position - transform.position;
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(direction), 1f);
transform.Translate(Vector3.forward * speed);
if (direction.sqrMagnitude < 1f){
currentIndex++;
if (currentIndex > wayPointArray.Length - 1)
currentIndex = 0;
}
}
}
将路径点放置脚本框选中
拖拽至预制体文件夹中并在场景中删除
将巡航点也放进预制体
重新拖拽巡航点
修改脚本:AutoRandomModel.cs
using System.Collections;
using UnityEngine;
public class AutoRandomModel : MonoBehaviour{
public GameObject brickObj;
public GameObject monsterWhaleObj;
void Start(){
StartCoroutine(CreateWall());
StartCoroutine(CreateWhale());
}
IEnumerator CreateWall(){
yield return new WaitForSeconds(7f);
Instantiate(brickObj, new Vector3(0f, 6f, -2),
Quaternion.AngleAxis(0f, Vector3.up));
}
IEnumerator CreateWhale() {
yield return new WaitForSeconds(3f);
Instantiate(monsterWhaleObj, new Vector3(-11f, 0.5f, 3),
Quaternion.AngleAxis(0f, Vector3.up));
}
}
绑定预制体框选
运行项目 - 3秒过后怪物鲸鱼会被生成在场景中并且持续按照目标点巡航
本篇做了利用协程延时生成怪物模型的功能,接下来还需做以下内容:
1.DOTween动态显示文字
2.可拖动UI窗口
3.怪物集目标点巡航功能
4.隐藏怪物的生成
5.怪物I攻击范围内的主动攻击
6.掉落坐骑蛋的获取
7.异步传送转换场景
以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。
具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》
【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6