unity3d 制作开门动画以及收集钥匙实现开门

这篇具有很好参考价值的文章主要介绍了unity3d 制作开门动画以及收集钥匙实现开门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先展示效果:

unity3d 制作开门动画以及收集钥匙实现开门

第一步,我们在Hirarchy面板上新建三个cube,再按照一定的比例调整,制作完成一个门框,然后制作一个空物体并命名为Doorframe,将三个cube合并成门框一个整体:

unity3d 制作开门动画以及收集钥匙实现开门unity3d 制作开门动画以及收集钥匙实现开门

 然后再创建一个cube调整大小,在将合适的门移动至门框之前,创建一个空物体(doorcenter)并将此空物体的位置移动至门的右边缘中心位置,同时将门作为doorcenter的子物体,这里的操作是为后面的开门动画制作做铺垫。

unity3d 制作开门动画以及收集钥匙实现开门

开门是需要围绕门一边的轴来旋转,如果不设置空物体用来辅助旋转,那门将以自生中心为轴来旋转则达不到需要的效果。

 接下来制作开门动画:

点击Windows->Animation->Animation,出现Animation面板,在Hierarchy面板中选中doorcenter

点击Creat,命名之后会自动生成:

unity3d 制作开门动画以及收集钥匙实现开门

 左边可以理解为编辑动画,右边则用来设置动画状态等。并注意点击door,将Loop Time(循环播放)取消勾选:

unity3d 制作开门动画以及收集钥匙实现开门

在出现的Animation面板中输入帧率30:

unity3d 制作开门动画以及收集钥匙实现开门

 接下来点击上图Preview右边红点开始录制,接下来选中doorcenter,按快捷键E,点击绿轴进行旋转,旋转角度任意,点击播放键unity3d 制作开门动画以及收集钥匙实现开门即可查看效果,开门速度太快则拖动unity3d 制作开门动画以及收集钥匙实现开门

并将时间间隔为两秒,整体如下: 

unity3d 制作开门动画以及收集钥匙实现开门

 接下来打开动画机 

unity3d 制作开门动画以及收集钥匙实现开门

 面板中以及自动为你生成了先前编辑的动画door,首先我们点击将door删去,右键点击Creat State->empty,并且命名为Idle,因为门不能刚开始就打开,需要玩家找到钥匙才能打开,然后在家将做好的动画拖进面板,并且右键点击Idle->make transition链接至door。

unity3d 制作开门动画以及收集钥匙实现开门

 点击Parameters面板为动画播放设置条件,这里选中Trigger(触发),开门动画只需播放一次,并且将它命名为opening:

unity3d 制作开门动画以及收集钥匙实现开门

 接下来在点击idle与door之间的连线,在右侧inspector中,取消勾选

unity3d 制作开门动画以及收集钥匙实现开门

 同时点击conditions中点击+,设置Trigger:

unity3d 制作开门动画以及收集钥匙实现开门

 门这一板块结束,速度解决钥匙,创建cube,添加Sphere Collider组件,点击Edit Collider调整碰撞范围(尽量调大),然后勾选Is Trigger。

unity3d 制作开门动画以及收集钥匙实现开门

 编写钥匙代码:

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

public class keyhold : MonoBehaviour
{
    // Start is called before the first frame update
    public Transform player;//获取玩家组件
    private void OnTriggerEnter(Collider other)//这里Other指的是与钥匙接触的物体(即玩家)
    {
        if(other.transform==player)
        {
            other.GetComponent<player>().IsKeyhold = true;//采用GetComponent方法获取玩家脚本中的bool值并且进行修改
            Destroy(gameObject);
        }
    }
}

对于门,选取空物体doorcenter,添加Box Collider组件,同样勾选Is Trigger,将碰撞范围调整至下图所示

unity3d 制作开门动画以及收集钥匙实现开门

 我们希望的是玩家在拿到钥匙的前提下,进去该碰撞区域,门将自动打开,未拿到钥匙则无反应

门的代码(添加到doorcenter上):

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

public class DoorOpen : MonoBehaviour
{
    Animator animator;
    // Start is called before the first frame update
    public Transform player;
    private void Start()
    {
        animator = GetComponent<Animator>();
    }
    private void OnTriggerEnter(Collider other)
    {
        if(other.transform==player&&other.GetComponent<player>().IsKeyhold)//玩家拿到钥匙,进入碰撞区,播放动画
        {
            animator.SetTrigger("opening");
        }
    }
}

unity3d 制作开门动画以及收集钥匙实现开门

 玩家代码中只需要加入以上代码即可。

 最后将我们的玩家拖放进doorcenter以及key的player位置就大功告成!

unity3d 制作开门动画以及收集钥匙实现开门

 unity3d 制作开门动画以及收集钥匙实现开门文章来源地址https://www.toymoban.com/news/detail-411977.html

到了这里,关于unity3d 制作开门动画以及收集钥匙实现开门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Unity3D小技巧】Unity3D中Animation和Animator动画的播放、暂停、倒放控制

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 在日常开发中,常常会遇到要控制动画的播放、暂停和倒放的情况。 这篇文章就总结一下, Animation

    2024年02月02日
    浏览(96)
  • Unity3D中实现动画的方式:

    Unity3D中实现动画的方式有很多种,以下是其中两种常用的方式: 1. 使用Animation组件 使用Animation组件可以制作简单的关键帧动画。步骤如下: 将需要动画的物体选中,然后在Inspector面板中点击Add Component按钮,选择Animation组件。 在Project面板中创建动画剪辑(Animation Clip)。

    2024年02月08日
    浏览(73)
  • Unity3D制作天空盒

    1、下载并导入hdr高动态范围图像资源到Project视图中,然后将图片的“Texture Shape”修改为“Cube”。  3、将步骤1的图片拖入“Cubemap(HDR)”的框内。  4、最后将制作好的材质,直接拖入Scene窗口中。           

    2024年02月15日
    浏览(58)
  • Unity3D粒子系统之制作火焰特效

    本文将会介绍如何使用Unity内的粒子系统制作烟雾效果。 如果想了解Unity粒子系统中的基础属性,可以看这篇博客:Unity3D粒子系统之基础属性介绍 先上预览图吧 用自己熟悉的绘画工具画一张类似这样的图片(相似即可,白灰色部分边缘不规则),注意一定要黑底。 将画好的

    2024年02月02日
    浏览(44)
  • Unity3D粒子系统之制作烟雾特效

    本文将会介绍如何使用Unity内的粒子系统制作烟雾效果。 如果想了解Unity粒子系统中的基础属性,可以看这篇博客:Unity3D 粒子系统之基础属性介绍 先附上预览图: 材质贴图 首先我们需要一张烟雾材质用的材质贴图,我是自己画的,可以参考下图自己画一张或者去网上找素材

    2024年02月02日
    浏览(52)
  • 使用Unity3D制作2D游戏的重点做法

    官网上有提供一个 2D游戏的教学范例 ,这个游戏只不过把镜头摆放在横向位置跟随角色移动,游戏内物件运动时固定一个轴不动,使他像横轴式的2D游戏来玩,本质上其实还是个3D游戏,所以如果没有3D建模的话不就没办法做2D游戏了?其实这些并没有定论,就看制作者如何运

    2024年02月11日
    浏览(58)
  • Unity3D项目之游戏场景小地图制作

    创建一个场景资源,可在asset store资源商店下载,选择心仪场景。 链接:https://assetstore.unity.com/?locale=zh-CN 添加一个对象GameObject,命名为player,子物体包括:主摄像机,角色,后面步骤会添加一个plane。 添加一个地图摄像机,命名为MapCamera。修改属性projection为OrthoGraphic;Size为

    2024年02月11日
    浏览(70)
  • Unity3d 制作一个简单的NPC对话系统

    ​ 最近在自己写一个比较小的项目,虽然自己是一个策划,但是程序方面我觉得也是很有必要学一学的。 ​ 经过了接近一年的学习,也终于是可以独自写一些小的系统了。 ​ 这次自己写了一个比较简单的NPC对话系统,供大家参考。 进入对话区域 开始对话 Inspector面板可调

    2023年04月08日
    浏览(44)
  • Unity3D制作注册登录界面,并实现场景跳转

    效果预览图片: 效果预览视频: 一、新建项目工程 1、打开Unity3D,新建一个项目,将其命名为“Login”。我这里用的版本是Unity2018.4.2f1,不同版本制作过程中的界面可能稍有不同,但是不影响具体功能的实现。 2、可以将样例场景SampleScene重命名为Login,最好做到见名知意。

    2024年02月03日
    浏览(76)
  • 【Unity3D赛车游戏】【二】如何制作一个真实模拟的汽车

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity游戏demo – 😶‍🌫️版本: Unity2021 😶‍🌫️适合人群:Unity初学者 😶‍🌫️学习目标:3D赛车游戏的基础制作 😶‍🌫️技能掌握

    2024年02月11日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包