Unity Animaotr 动画转换设置的代码设置条件

这篇具有很好参考价值的文章主要介绍了Unity Animaotr 动画转换设置的代码设置条件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity Animaotr 动画转换设置的代码设置条件

Unity Animaotr 动画转换设置的代码设置条件

Unity Animaotr 动画转换设置的代码设置条件

```以下是一个大乱斗的客户端源码 仅供参考
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BaseHuman : MonoBehaviour
{
//是否正在移动
protected bool isMoving = false;
//移动目标点
private Vector3 targetPosition;
//移动速度
public float speed = 1.2f;
//动画组件
private Animator animator;
//描述
public string desc = “”;

public int hp;

public bool isAttacking = false;
public float attackTime = float.MinValue;

//移动到某处
public void MoveTo(Vector3 pos)
{
    Debug.Log("MoveTo");
    targetPosition = pos;
    isMoving = true;
    animator.SetBool("isMoving", true);
}

//移动Update
public void MoveUpdate()
{
    if (isMoving == false)
    {
        return;
    }

    Vector3 pos = transform.position;
    transform.position = Vector3.MoveTowards(pos, targetPosition, speed*Time.deltaTime);
    transform.LookAt(targetPosition);
    if (Vector3.Distance(pos, targetPosition) < 0.05f)
    {
        isMoving = false;
        animator.SetBool("isMoving", false);
    }
}

public void Attack()
{
    isAttacking = true;
    attackTime = Time.time;
    animator.SetBool("isAttacking", true);
}

public void AttackUpdate()
{
    if (!isAttacking) return;
    if (Time.time - attackTime < 1.2f) return;
    isAttacking = false;
    animator.SetBool("isAttacking", false);
}

// Use this for initialization
protected void Start()
{
    animator = GetComponent<Animator>();
}

// Update is called once per frame
protected void Update()
{
    MoveUpdate();
    AttackUpdate();
}

}



using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CtrlHuman : BaseHuman
{

// Use this for initialization
new void Start()
{
    base.Start();
}

// Update is called once per frame
new void Update()
{
    base.Update();

    if (Input.GetMouseButtonDown(0))
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        Physics.Raycast(ray, out hit);

        if (hit.collider != null && hit.collider.tag == "Terrain")
        {
            MoveTo(hit.point);    
        }
    }
    if (Input.GetMouseButtonDown(1))
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        Physics.Raycast(ray, out hit);

        if (hit.collider != null && hit.collider.tag == "Terrain")
        {
            transform.LookAt(hit.point);
            Attack();
        }
    }
}

}文章来源地址https://www.toymoban.com/news/detail-434058.html






到了这里,关于Unity Animaotr 动画转换设置的代码设置条件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 快速解决Spine动画导入Unity后需要设置Straight Alpha Texture的问题

    在导入Spine资源后,Unity会根据不同的后缀,自动化构建出不同格式的资源。导入后,会发现播放的动画和导入前的动画的图片不一样。这时上网查基本都是需要手动吧材质资源的Straight Alpha Texture 勾上。 查看材质的Shader可以看出这个选项是用来选择颜色是否加了透明度的计算

    2024年02月16日
    浏览(37)
  • 1 请使用js、css、html技术实现以下页面,表格内容根据查询条件动态变化。

            注意:         1.背景颜色用ppt的取色器来获取:                 先点击ppt的形状轮廓,然后点击取色器,吸颜色,然后再点击形状轮廓的其他轮廓颜色,即可获取到对应颜色。           2.表格间的灰色线是在th和td中用border属性设置的;         3.在js中拼

    2024年02月16日
    浏览(47)
  • 【Unity3D】Android 打包 ② ( Android 编译选项 | Android 工程设置 | 配置基本信息 | 配置不同分辨率图标 | 配置启动动画 | 其它设置 )

    在上一篇博客 【Unity3D】Android 打包 ① ( Android 编译选项 | 安装 Android Build Support 模块 ) 中 讲解了 Android 打包的最基本配置 , 安装 Android Build Support 模块 ; 本篇博客继续讲解后续工作 ; 在 Unity 编辑器中选择 \\\" 菜单栏 | File | Build Settings \\\" 选项 , 点击 Build Settings 对话框的左下角的

    2023年04月19日
    浏览(63)
  • 【Unity】材质设置1双面材质2HDRP材质转换3烘焙渲染

    一 双面材质问题 在Unity使用中,我们发现材质在物体上是单面的,换一个方向就看不到了,针对这个问题做个备注: 普通三维场景 首先将选中物体,找到对应的材质,然后将Shader组件的渲染模式改成【Particles】-【Standard Surface】,接着勾选上【Two Sided】属性就OK了 HDRP场景 在HDRP场景

    2024年02月12日
    浏览(46)
  • 将一张RGB图像转换为BGR格式可以通过以下步骤实现

    读取图像:使用图像处理库(如OpenCV)读取一张RGB格式的图像,并将其存储为NumPy数组。 转换通道顺序:使用np.transpose函数将图像数组的通道顺序从RGB转换为BGR。 在这里,np.transpose函数的第一个参数是图像数组,第二个参数是元组,表示要交换的维度顺序。由于RGB格式的图像

    2024年02月11日
    浏览(72)
  • 在Unity中将运行时物体转换为预制体的代码实现

            在Unity中,预制体(Prefab)是一种非常有用的功能,可以重复使用已经创建好的物体。但是,有时候我们可能需要在运行时动态地创建物体,并将其转换为预制体以便在其他场景中使用。本篇博客将介绍如何使用代码将运行时创建的物体转换为预制体。 步骤: 创

    2024年02月12日
    浏览(81)
  • 【Unity】Transform—用代码设置父子关系

    子对象在世界坐标系下的位置是加法运算:子对象在世界坐标系下的位置 = 子对象的位置 + 父对象的位置 子对象在世界坐标系下的缩放是乘法运算:子对象在世界坐标系下的位置 = 子对象的位置 + 父对象的位置 现有: Lesson9脚本中的代码: 运行: 现有: Lesson9脚本的代码:

    2024年02月12日
    浏览(40)
  • 在SQL中,可以使用不同的函数来转换字符串日期格式。以下是一些常用的函数:

    1. STR_TO_DATE(): 将字符串转换为日期格式。它接受两个参数:要转换的字符串和日期格式。 示例: 这将把字符串 ‘2023-07-04’ 转换为日期格式,并返回结果作为 converted_date。 2. CAST(): 将字符串转换为日期格式。它接受两个参数:要转换的字符串和目标数据类型。 示例: 这将把

    2024年02月04日
    浏览(61)
  • Unity代码设置天空盒子skybox 及定时切换

    前言:并非自创,看的是同行的博文——在此向前人致谢 1、 天空盒子 代码设置 函数 RenderSettings.skybox = 天空盒子材质球; 2、 切换原理 假设有两个天空盒子,放在材质数组中 定义整形变量index,表示要使用材质球的索引 每切换一次索引 index 加1(index++),每次切换要用到的材

    2023年04月25日
    浏览(29)
  • 写出以下代码的输出结果

    1,输出执行结果 2,闭包作用域相关题 3,闭包题,写出以下代码的输出结果 4,面向对象面试题: 写出执行结果 5,输出结果: 6,写出代码的执行结果

    2024年02月13日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包