动画部分
首先是玩家的动画控制器:

巡逻兵的动画控制器:

运行时场景

预制

patrol的设置:

player的设置:

Plane的设置:

Plane的子对象也做了不少设置,这里不再详细给出。
Trigger的设置:

代码部分
在预制部分,我们看到Trigger和patrol里面都挂载了ColiAction这个脚本,来实现玩家与巡逻兵碰撞时的通知:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ColiAction : MonoBehaviour
{
FirstSceneController sceneController;
GameObject myobject = null;
GameObject player;
public delegate void AddScore();
public static event AddScore myAddScore;
public delegate void GameOver();
public static event GameOver myGameOver;
private void Start()
{
sceneController = SSDirector.getInstance().currentSceneController as FirstSceneController;
player = sceneController.player;
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject == player)
{
int k = this.name[this.name.Length - 1] - '0';
myobject = sceneController.patrols[k];
foreach (var i in sceneController.actionManager.seq)
{
if (i.gameObject == myobject)
{
i.enable = false;
Vector3 a = new Vector3(myobject.transform.position.x, 0, myobject.transform.position.z);
Vector3 b = new Vector3(player.transform.position.x, 0, player.transform.position.z);
Quate
3D游戏编程:模型动画与场景实现

本文探讨3D游戏编程中的模型动画控制器,包括玩家和巡逻兵的动画控制,以及运行时场景的配置。讲解了预制件如patrol和player的设定,以及Trigger和ColiAction脚本用于碰撞检测。还提到了FirstSceneController用于场景加载,CCActionManager管理动作和用户输入,而UserAction脚本则处理玩家移动。
最低0.47元/天 解锁文章
3056

被折叠的 条评论
为什么被折叠?



