Unity之铰链关节和弹簧组件

这篇具有很好参考价值的文章主要介绍了Unity之铰链关节和弹簧组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 《今天闪电侠他回来了,这一次他要拿回属于他的一切》

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

目录

📕一、铰链关节组件HingeJoint

1. 实例

2.  铰链关节的坐标属性

​3.铰链关节的马达属性Motor

📕二、弹簧组件

📕三、杂谈


一、铰链关节组件HingeJoint

1. 实例

说到关节大家会想到我们身体的关节,还有日常生活中的“关节”比如说:门,这次向大家介绍在Unity中是怎么实现的。

直接带大家做实例,胶囊(玩家)、平面(地面)、立方体(门)


胶囊给它加上控制移动的脚本组件,冻结旋转不让它倒了

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

public class PlayerControl : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        //水平轴
        float horizontal = Input.GetAxis("Horizontal");
        //垂直轴
        float vertical = Input.GetAxis("Vertical");
        //创建成一个方向向量
        Vector3 dir = new Vector3(horizontal, 0, vertical);

        //朝方向向量移动
        transform.Translate(dir * 10 * Time.deltaTime);
    }
}

立方体给它缩放成门的样子,挂载上刚体和我们今天要讲的铰链关节组件HingeJoint 

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

我们控制胶囊走向门,来看看效果:

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

2.  铰链关节的坐标属性

 不过大家看到关节位置在门的上方,小编带大家了解一下铰链关节的坐标属性,又要用到我们小学数学知识了。


看小编截的图红色框的位置,是不是发现除了X、Y、Z轴的箭头还有一个黄色的小箭头,这就是铰链关节所在位置以及它关节活动的方向,对应到我们实例效果图中的样子

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

其实呢铰链关节的原点坐标位置就是物体的中心,对应上图中也就是X、Y、Z轴的交汇处。

大家来看组件中的Anchor坐标数据(0,0.5,0),把门的长、宽、高都看做 1 的话,(0,0.5,0)X轴Z轴不变,Y轴移动 “高” 的一半也就是 0.5 对应的就是上图中铰链关节的位置,而铰链关节的方向(1,0,0)就是表示关节以X轴的方向运动。

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

是不是和小学数学一样简单,那我们调成日常生活中门的样子来看看。

 Anchor坐标数据(-0.5,0,0),(0,1,0):你看,它就像我们日常生活中的门一样了

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

 3.铰链关节的马达属性Motor

 介绍完坐标属性小编再来介绍一下铰链关节的Motor


商场里的自动旋转门大家也都知道,当我们用铰链关节实现的话就要用到Motor属性了,说白了就是给门一个力让它自己转。把Use Motor勾选上,来设置速度和力的数值看看效果:

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

 可以看到模拟的自动旋转门实现了,看来门的力和速度不够大当我们控制胶囊去推门就会停下来,那我们加大马力😃

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

好家伙,直接远离轴心做离心运动了,速度堪比闪电侠,死去的物理知识突然袭击我。

二、弹簧组件

我们直接做实例,新建立方体挂载刚体组件然后  Ctrl+D  复制一下,让其中一个立方体在另一个立方体的正上方,像这样:

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎位于正上方的那个立方体我们把他刚体组件中的Is Kinematic 勾选,我们知道这样上面的立方体就不受运动学的影响了。


然后给上方的立方体添加弹簧组件Spring Joint。这里看到弹簧组件的连接体需要刚体,由于立方体都挂载了刚体,我们就把下面的立方体拖进来。

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

查看效果:可以看到它会上下晃动,用胶囊去撞击也会摇摆,真的和弹簧一样

Unity之铰链关节和弹簧组件,摸鱼学Unity,unity,游戏引擎

三、杂谈

还有一个固定关节组件Fixed Joint ,实例操作方法和弹簧类似大家可以动手试一下,这个组件类似于胶水是把两个立方体固定在一块。

铰链、弹簧、固定关节组件他们都可以设置 Limits 断开力指最大承受力,比如胶水固定好的物体我们用力掰达到它的最大承受力就会断开,就是这个道理。

小编还在持续学习中,本篇先到这里,拜拜┏(^0^)┛文章来源地址https://www.toymoban.com/news/detail-803039.html

到了这里,关于Unity之铰链关节和弹簧组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity基础 弹簧关节SpringJoint

    弹簧关节 在游戏开发中,物体之间的交互性是非常重要的。为了模拟现实世界中的弹性特性,Unity提供了弹簧关节(Spring Joint)组件。通过弹簧关节,我们可以轻松实现物体之间的弹性交互效果。本文将详细介绍Unity中的弹簧关节,包括其基本原理、属性设置和示例应用。 一

    2024年02月13日
    浏览(55)
  • Unity物理相关组件——2D关节

    一:前言  关节组件用来模拟物体与物体之间的连接关系,必须依赖于刚体组件 二:Hinge Joint 2D 用于实现链条物体、钟摆等物体的模拟 ——Enable Collision:是否开启碰撞 ——Connected Rigid Body:关联的刚体(如果为空则默认连接到世界,就算刚体有重力也不会下落) ——Auto

    2024年02月06日
    浏览(26)
  • unity 打砖块—休闲小游戏,摸鱼必备(完整代码)

    打砖块小游戏通常会被当做Unity学习的第一个案例,下面给大家介绍如何实现打砖块案例的    建立cube,大体这个样子,可以建造自己喜欢的形状和颜色。 给正方形的cube添加刚体  将摄像机的位置对准创建的物体 创建一个“子弹”,添加钢体,然后拖动到文件夹,变成预设

    2023年04月08日
    浏览(39)
  • Unity基础 固定关节 FixedJoint

    Unity是一款强大的游戏开发引擎,它提供了各种丰富的功能和组件,使开发者能够轻松创建复杂的游戏世界。其中,固定关节(FixedJoint)是Unity中一个非常重要的组件,它用于实现物体之间的固定连接。     组件主要面板属性: Connected Body对关节所依赖的刚体的引用(可选)。

    2024年02月11日
    浏览(22)
  • 第二十九章 Unity关节Joint

    关节组件将刚体连接到另一个刚体或空间中的固定点。关节施加使刚体移动的力,而关节限制功能可以限制该移动。Unity 提供的以下关节可以对刚体组件施加不同的力和限制,从而使这些刚体具有不同的运动: Hinge Joint铰链关节:使两个刚体像被连接在一个铰链上那样运动。

    2024年02月15日
    浏览(33)
  • 【Unity每日一记】WheelColider组件汽车游戏的关键

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【软件设计师高频考点暴击】 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【u

    2024年02月10日
    浏览(31)
  • unity 之 GetComponent 获取游戏对象上组件实例方法

    GetComponent 是Unity引擎中用于获取游戏对象上组件实例的方法。它允许您从游戏对象中获取特定类型的组件,以便在脚本中进行操作和交互。 GetComponent ComponentType (): 这是一个泛型方法,用于从当前游戏对象上获取指定类型的组件。在 ComponentType 部分,您应该提供您想要获取的

    2024年02月02日
    浏览(34)
  • 30分钟了解所有引擎组件,132个Unity 游戏引擎组件速通!【收藏 == 学会】

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月11日
    浏览(52)
  • 【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介

    觉得有帮助请点赞关注收藏~~~ 创建3D对象 选择GameObject -3D Object命令 选择要创建的3D对象 下面是各个对象的意思 cube 立方体 sphere 圆柱体 capsule 平面 cylinder 胶囊体 plane 球体 quad 面片  可以为上面创建的对象添加刚体组件 选中该对象 在Inspector视图中,单机add component按钮, 选在

    2024年02月04日
    浏览(30)
  • Unity之获取游戏物体对象或组件的几个方法

    在unity的实际项目开发中,往往都要获取游戏内的各种物体,比如玩家(Player),怪物(Monster),或者其他,那有什么方法可以快速获取呢,下面就来介绍unity获取游戏对象的几个方法 GameObject.Find GameObject.Find 通过游戏物体的名称获取对象 使用方法 缺点: 会遍历当前整个场

    2024年02月01日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包