国产探花免费观看_亚洲丰满少妇自慰呻吟_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)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴彦县| 阳西县| 富阳市| 祁阳县| 石首市| 广东省| 兴海县| 丰顺县| 湘乡市| 综艺| 赣州市| 利津县| 咸阳市| 峨山| 延长县| 湖州市| 大同县| 托里县| 宜良县| 通榆县| 乐至县| 泰顺县| 揭阳市| 广汉市| 民丰县| 右玉县| 汾阳市| 玉田县| 台中市| 九龙城区| 元氏县| 潞城市| 宕昌县| 迭部县| 千阳县| 漳州市| 焉耆| 樟树市| 普兰县| 肥乡县| 呼图壁县|