当前位置: 首页 > 知识库问答 >
问题:

Unity 3d,剑的BoxCollider

都乐逸
2023-03-14

所以我正在开发一款第一人称剑游戏,我有基本的战斗设置,但如果你走进敌人,他们会从碰撞器中受到伤害,我想让碰撞器禁用,直到我使用攻击按钮,然后返回禁用状态,这样你就不能直接走进敌人。(C#,Unity 2020.2,3d)

这是剑动画脚本,我也希望在此更改Box对撞机,以便于简单的可访问性。

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

public class Sword : MonoBehaviour
{
     Animator anim;

     private void Start()
    {
        anim = GetComponent<Animator>();
    }
   private void Update()
    {
        if (Input.GetButtonDown("Fire1"))
        anim.SetBool("Attacking", true);
        else if(Input.GetButtonUp("Fire1"))
        anim.SetBool("Attacking", false);
    }
    
 
}

共有2个答案

安博文
2023-03-14

因此,代码中有一个附加的动画器和一个附加到脚本的碰撞器,当左键单击时,动画将播放,碰撞器将打开

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

public class Sword : MonoBehaviour
{
    Animator anim;
    Collider Col;

    private void Start()
    {
        anim = GetComponent<Animator>();
        Col = GetComponent<BoxCollider>();
    }
    private void Update()
    {
        if (Input.GetButtonDown("Fire1"))
        anim.SetBool("Attacking", true);
        else if(Input.GetButtonUp("Fire1"))
        anim.SetBool("Attacking", false);

        if (Input.GetButtonDown("Fire1"))
        Col.enabled = true;
        if (Input.GetButtonUp("Fire1"))
        Col.enabled = false;
    }
淳于泓
2023-03-14

您可以像访问动画制作者一样访问碰撞器,然后可以使用<code>碰撞器。enabled=false以禁用它。

你也可以去那里阅读更多关于对撞机的信息:https://docs.unity3d.com/ScriptReference/Collider.html

 类似资料:
  • Unity3D 是一个跨平台的浏览器/移动游戏软件框架。 Unity3D引擎采用了和大型、专业的游戏开发引擎相同的架构方式和开发方式实现Web3D,对于Web3D行业来说,是一次大的飞跃,游戏是VR行业 的最高端,呵呵,但是现在都已经平民化了,甚至过春节在山区也能碰见搞VR的老乡,因为会用3Dmax或者VRP也算VR了,呵呵,但是Unity3D的 出现和大量应用将把Web3D拉到Game的快车道上

  • 本文向大家介绍unity3d 协程,包括了unity3d 协程的使用技巧和注意事项,需要的朋友参考一下 示例 首先,必须了解,游戏引擎(例如Unity)在“基于框架”的范例上工作。 在每一帧中执行代码。 其中包括Unity自己的代码以及您的代码。 在考虑框架时,一定要了解,绝对不能保证框架何时发生。他们不会定期跳动。帧之间的间隙可以是例如0.02632,然后是0.021167,然后是0.02977

  • 本文向大家介绍unity3d 介绍,包括了unity3d 介绍的使用技巧和注意事项,需要的朋友参考一下 示例 预制件是一种资产类型,可以存储完整的GameObject及其组件,属性,附加组件和序列化的属性值。在许多情况下这很有用,包括: 在场景中复制对象 在多个场景中共享一个公共对象 能够一次修改预制件并将更改应用于多个对象/场景 创建具有轻微修改的重复对象,同时可以从一个基础预制件中编辑公共元素

  • 本文向大家介绍unity3d Custom Property Drawer,包括了unity3d Custom Property Drawer的使用技巧和注意事项,需要的朋友参考一下 示例 有时,您有包含数据但不从MonoBehaviour派生的自定义对象。除非您为对象类型编写自己的自定义属性抽屉,否则将这些对象添加为MonoBehaviour类中的字段不会产生视觉效果。 下面是添加到MonoBe

  • 本文向大家介绍unity3d Parenting 与 Children ,包括了unity3d Parenting 与 Children 的使用技巧和注意事项,需要的朋友参考一下 示例 Unity使用层次结构来使您的项目井井有条。您可以使用编辑器在层次结构中为对象分配位置,但是也可以通过代码来实现。 为人父母 您可以使用以下方法设置对象的父对象 每当您设置变换父对象时,它都会将对象位置保留为世界位

  • 我想让我的角色在进入扳机时按下一个键时播放一段动画,但我想不通。你能帮忙吗?这里是我的代码 }