国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 應用 > 應用軟件 > 正文

Unity3D 實現怪物巡邏、按路線行走操作

2024-07-16 17:46:17
字體:
來源:轉載
供稿:網友

為了豐富我們的游戲,我們經常會給游戲中的角色(怪物)添加行走路線,本想用 ITweenPath 插件實現,但是一直沒有找到合適的辦法,因為不知道如何實現實行的獲得地形高度,或者如果使用角色控制器移動(CharacterController),怎么使用 ITweenPath 驅動?本人愚笨,自己實現了個(這兒只是使用 ITweenPath 繪制出來的點),也算拋磚引玉,如果讀者知道如何更簡單的實現方式,還請告之!共同進步!

先來看看最終的效果圖:

場景中有兩個角色,然后他們會在 ITweenPath 繪制的線上隨機移動!下面我們先搭建好測試的場景,如下圖:

然后我們使用 ITweenEditor 編輯場景中角色的行進路線,如下圖:

后面,就需要我們自己去實現行走的邏輯了,獲取 ITweenPath 曲線上的點,前面的文章中提到,詳細可以看此鏈接,然后我們新建立一個RoleController.cs 文件,然后編寫我們的代碼,全部代碼如下:


復制代碼代碼如下:
using UnityEngine;
using System.Collections;
public class RoleController : MonoBehaviour
{
public iTweenPath tweenPath;
/// <summary>
/// 曲線上面點的個數,點數越多移動越平滑
/// </summary>
public int pointSize = 5;
/// <summary>
/// 角色移動速度
/// </summary>
public float speed = 3f;

public AnimationClip walkClip;
public AnimationClip idleClip;
private Vector3[] pathPositionList;
private Vector3 pathPoint;
private Vector3[] positionList;
private Vector3 nextPoint;
private Vector3 direction;
private int moveIndex;
private bool moveStatus;
private bool idleStatus;
private Animation animation;
void Awake()
{
this.pathPositionList = PointController.PointList(tweenPath.nodes.ToArray(), this.pointSize);
this.animation = this.GetComponent<Animation> ();
this.moveIndex = 0;
this.moveStatus = false;
this.idleStatus = false;
if (this.pathPositionList.Length > 0)
{
this.pathPoint = this.pathPositionList [Random.Range(0, this.pathPositionList.Length)];
}
}
void Start()
{
this.transform.position = this.GetTerrainPosition (this.pathPoint);
this.StartCoroutine(this.SetNextPositionList(0));
}
void Update()
{
this.SetMoveDirection ();
this.SetMovePosition ();
}
/// <summary>
/// 設置移動向量
/// </summary>
protected void SetMoveDirection()
{
if (this.positionList == null) return;
if (this.moveIndex < this.positionList.Length)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仁布县| 额敏县| 镇原县| 大竹县| 江西省| 凌云县| 利川市| 长海县| 筠连县| 彰武县| 淮安市| 罗平县| 曲沃县| 阿拉尔市| 林芝县| 鄄城县| 武穴市| 山东省| 沁阳市| 镶黄旗| 洛隆县| 丽江市| 教育| 永顺县| 张家川| 连南| 开封县| 广州市| 汉寿县| 新郑市| 岱山县| 邓州市| 涿州市| 辽源市| 长沙县| 重庆市| 彰化市| 贵州省| 涞水县| 扎兰屯市| 丽水市|