unity 横版过关单向通行实现(PlatformEffector2D)

这篇具有很好参考价值的文章主要介绍了unity 横版过关单向通行实现(PlatformEffector2D)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

在 2D 游戏中,处理角色与平台之间的交互是一个常见但复杂的任务。为了简化这一过程,Unity 提供了 PlatformEffector2D 组件,提供了更灵活的方式来定义角色与平台之间的交互行为。


一、什么是 PlatformEffector2D?

PlatformEffector2D 是 Unity 中的一个 2D 物理组件,用于调整 2D 角色与平台之间的交互行为。通常情况下,角色在跳跃、站立或行走时需要与平台进行交互,PlatformEffector2D 可以实现这些行为并提供更多的控制选项。

PlatformEffector2D 提供了许多优势,使得处理角色与平台交互变得更加简单和灵活:

  • 简化交互行为:通过 PlatformEffector2D,无需手动编写复杂的代码来实现角色与平台之间的交互行为,而是通过简单的属性调整就能完成。
  • 灵活性:PlatformEffector2D 提供了多种属性选项,允许根据游戏需求调整平台的行为,包括曲率、摩擦力、反弹力等。
  • 可视化编辑:所有属性都可以通过 Unity 编辑器直观地进行调整,可以立即看到修改的效果,从而加速开发过程

二、使用步骤

1.创建模型

创建3个模型
platformeffector 2d,Unity3D,unity,游戏引擎
分别挂上对应的collider
platformeffector 2d,Unity3D,unity,游戏引擎
platformeffector 2d,Unity3D,unity,游戏引擎
圆球上还需要加上刚体用于碰撞检测和移动
platformeffector 2d,Unity3D,unity,游戏引擎

2.创建jump脚本

创建一个jump脚本,挂着圆球上
代码如下(示例):

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

public class Jump : MonoBehaviour
{
    private Rigidbody2D rb;
    public float jumpForce;

    public float moveSpeed;


    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        if (Input.GetKey(KeyCode.Space))
        {
            rb.velocity = new Vector3(0, jumpForce, 0);
        }

        if (Input.GetKey(KeyCode.A))
        {
            rb.velocity = new Vector3(-moveSpeed, 0, 0);
        }

        if (Input.GetKey(KeyCode.D))
        {
            rb.velocity = new Vector3(moveSpeed, 0, 0);
        }
    }
}

3.PlatformEffector2D组件

在需要穿越的墙面或者平面添加PlatformEffector2D组件
并且需要勾上collider的Used By Effector
platformeffector 2d,Unity3D,unity,游戏引擎
platformeffector 2d,Unity3D,unity,游戏引擎

  1. 表面曲率(Surface Arc):表面曲率定义了平台边缘的曲率程度,影响角色在平台边缘的移动。设置曲率为 0 表示平台边缘是直线的,而设置较高的曲率则会使边缘更加圆滑。
  2. 旋转角度(Rotation Angle):旋转角度允许定义平台的旋转角度,这在设计斜坡或倾斜平台时特别有用。
  3. 表面类型(Surface Type):表面类型定义了角色在平台表面上的行为。可以选择 Standard(标准)、Ignored(忽略)、Frictionless(无摩擦力)或 Custom(自定义)之一。选择 Custom 时,可以进一步调整摩擦力和反弹力。
  4. 用于下降的边缘(Used by Effector):可以选择允许角色在下降时忽略平台边缘,这对于角色从平台边缘下落时避免意外停顿非常有用。
  5. One Way(单向):启用此选项后,角色只能从平台的一侧穿过,另一侧则不可穿越。这在设计上升台阶或特定方向移动的平台时非常有用

三、效果

platformeffector 2d,Unity3D,unity,游戏引擎

总结

PlatformEffector2D 是 Unity 中一个强大的工具,能够简化 2D 游戏中角色与平台之间的交互设计。通过使用它,可以更快地创建出具有流畅交互的游戏世界,提升游戏体验。如果你是一个 2D 游戏开发者,不妨尝试使用 PlatformEffector2D 来改善游戏中的平台交互效果。文章来源地址https://www.toymoban.com/news/detail-847163.html

到了这里,关于unity 横版过关单向通行实现(PlatformEffector2D)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity 2D横版闯关游戏 (JUNGLE RULES)

    Unity 2D横版闯关游戏 (JUNGLE RULES)

    目录 游戏演示 项目内容 (1) 项目内容 项目分析  (1) 游戏策划 (2) 游戏美术 (3) 游戏程序  项目实现 (1) 游戏角色(Player) (2) 小怪(Enemy) (3) UI界面 (4) 摄像机(Camera) (5) 公告板(Billboard) (6) 游戏场景(Scene) 项目源码​​​​​​​                     阿里云盘分享 https://www.aliyu

    2023年04月08日
    浏览(10)
  • unity2D横版游戏教程8-音效

    unity2D横版游戏教程8-音效

    简单介绍一下unity audio,auido包括三个东西,分别是Aduio Listener,Audio Source,Audio Clips。Audio Listener就相当于耳朵,是用来听声音的,Audio Source就相当于播放器,一个音源,可以播放声音,具体播放什么声音就靠Audio Clips 通常Audio Listener只有一个,默认情况下Audio Listener就在Main

    2024年02月08日
    浏览(13)
  • 4.Unity2D 横版 帧事件+攻击判定+冲砍挑飞+更真实的打击

    4.Unity2D 横版 帧事件+攻击判定+冲砍挑飞+更真实的打击

    总目录 1.攻击碰撞盒的创建 在玩家下面新建两个空物体命名为攻击一和攻击二。然后为两个物体分别添加碰撞盒,根据帧动化来调整碰撞盒位置。并都打开触发器 为俩个攻击盒添加触发器事件  2.帧事件的创建 2.Unity2D 横版 帧动画sprite animation+动画状态机animator+丝滑连击动作

    2023年04月08日
    浏览(11)
  • 15.Unity2D 横版 骨骼动画 之 单张切片图骨骼动画+Aseprite像素画软件

    15.Unity2D 横版 骨骼动画 之 单张切片图骨骼动画+Aseprite像素画软件

      主目录 https://blog.csdn.net/qq_54263076/category_11900070.html?spm=1001.2014.3001.5482 b站视频:骨骼动画 1.直接单图片   骨骼动画绑定(最简单,直接绑定就行) 2.部件分开切片图  骨骼动画绑定(本教程主要讲述) 3.部件多图层   骨骼动画绑定(Aseprite像素画绘图没有psd文件类型,本

    2024年02月10日
    浏览(9)
  • unity发布WebGl在手机上的横屏适配,webgl横版游戏在手机上直接转横屏

    unity发布WebGl在手机上的横屏适配,webgl横版游戏在手机上直接转横屏

    unity版本2020.1 问题:webgl的横版游戏 1920*1080,在手机上适配的不好,还是竖屏显示, 使用官方的说明,说是只在全屏模式下能旋转,也不好用,可能直接旋转也不会达到理想的效果 解决方案: 1.我这边使用的方案是UI的适配,UGUI,采用的是两套UI,根据不同平台加载不同的资源

    2024年02月02日
    浏览(12)
  • 6.Unity2D 横版 受击反馈+跟随血条+延时/延迟扣血+协程的应用

    6.Unity2D 横版 受击反馈+跟随血条+延时/延迟扣血+协程的应用

    总目录 https://blog.csdn.net/qq_54263076/category_11900070.html?spm=1001.2014.3001.5482  1. 受击反馈 用 Unity 探究 2D 游戏的打击感_技术宅也爱玩游戏的博客-CSDN博客_unity击退 引言这是我毕业设计的一部分emmm……我的毕设和格斗游戏相关,而对于打击感的研究算是其中我比较在意的一环。现在

    2023年04月08日
    浏览(29)
  • 13.Unity2D 横版 可上下左右移动的双向平台(双向行走+可移动+单独判定)+随机平台生成

    13.Unity2D 横版 可上下左右移动的双向平台(双向行走+可移动+单独判定)+随机平台生成

        总目录 https://blog.csdn.net/qq_54263076/category_11900070.html?spm=1001.2014.3001.5482 大多数平台教程全是碰撞体的可移动平台,并没有可跳上的平台,并且要求按下键会从平台上跳下来。有也只是通过控制平台的“2D平台效果碰撞体”组件的单向平台的旋转偏移来做,但是这样会 出现一

    2024年02月04日
    浏览(9)
  • 【解决】Unity导入模型单向透明解决方法

    【解决】Unity导入模型单向透明解决方法

            仰视看是透明         俯视看不透明         选中有问题的模型,修改材质:“Shader”修改为“Particles”→“Standard Surface”         修改完之后,勾选“Two Sided”,问题就解决了  

    2024年02月11日
    浏览(114)
  • 10.Unity2D 横版 简单AI 之 敌人随机移动+自动巡逻+障碍物跳跃+悬崖处转身+射线检测

    10.Unity2D 横版 简单AI 之 敌人随机移动+自动巡逻+障碍物跳跃+悬崖处转身+射线检测

    总目录 9.Unity2D 简单AI 之 敌人跳跃条件优化+自动范围内检测敌人发起攻击(索敌)+对象池优化+主角受伤死亡_ζั͡ ั͡雾 ั͡狼 ั͡✾的博客-CSDN博客 Unity2D 简单AI 之 敌人跳跃条件优化+自动范围内检测敌人攻击+敌人二连击。在敌人预制体下,创建空物体EnemyCanAttack,改成不

    2023年04月20日
    浏览(24)
  • Android Studio实现连连看小游戏,比比看谁过关最快~

    Android Studio实现连连看小游戏,比比看谁过关最快~

    这是一款基于Android studio开发的连连看小游戏。主要实现的功能有: 难度设置 打乱重排 排行榜 计时器 背景音乐 消除音效 主要应用的技术如下: Fragment碎片 Service服务 Menu菜单 自定义view Java反射 handler消息机制 BroadcastReceiver 多线程 SQLiteOpenHelper SharedPreferences Bitmap ViewPager Me

    2023年04月08日
    浏览(13)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包