Unity HingeJoint的简单运用,门

unity中的HingeJoint与门 在unity的建筑场景中,我们都会面对这样一个问题,建筑中门的运动的不自然,没有开门的效果,而不了解HingeJoint(铰链关节)的人习惯性的通过旋转门的方向来达到开门的效果,这样就会存在一个物体,开门时无法控制开门的幅度,门是在固定的条件下旋转,而不是像现实中受力的影响而偏移。这次主要介绍的是通过HingeJoint来控制开门的效果。 阅读详情

虽然,以前也看过了Joint(中文翻译为关节),但是,都没真正明白它的用途。

相对于理论而言,我觉得它能做哪些事情和示例会给我更多的启示和更好的理解。

所以,这里直接看东西吧!

我要做的一个可以旋转的门。

1、创建一个项目,命名为HingeJoint。不需要导入任何的包,直接创建就好了。

2、在Hierarchy中创建一个Plane,放大到10倍。

3、创建两个Cube对象,分别命名为Hinge、Door。

4、为Door对象增加Rigidbody组件,去掉use Gravity选项。


5、为Hinge对象增加Rigidbody组件,设置mass为100.设置,这个重量是为了在旋转过程中,物体不会倒。再增加一个HingeJoint组件。设置如下:


6、这个时候,如果你修改Motor下的Target Velocity值就能够使得该门打开关闭(正为开,负为关)。

7、创建一个脚本,来控制门的开关。命名为,Test。

using System;
using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour
{

    private float OpenSpeed = 30;
    private string option = "";
    private bool isOpen = false;
	// Use this for initialization
	void Start ()
	{

	}
	
	// Update is called once per frame
	void Update ()
	{
	    if (!isOpen)
	    {
	        option = "打开";
	    }
	    else
	    {
	        option = "关闭";
	    }

	}

    private void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 200, 30), option))
        {
            JointMotor motor = new JointMotor();
            motor.targetVelocity = OpenSpeed;
            motor.force = 3;

            hingeJoint.motor = motor;
            OpenSpeed = -OpenSpeed;
            isOpen = true;
        }
    }
}

好了,这个小例子就做好了。

在Unity官网上,可以直接修改motor.targetVelocity,但是实际上,会报错。所以应该是用上面的方法,构建一个JointMotor来完成targetVelocity的修改。


我看了一下,我的门好像反了,不过,可以在 Scene中,看到效果。呵呵....

其实,门的效果,我感觉应该要用动画会好些,当一个触发器,触发的时候,就自动打开。当然,这里也可以用一个触发器,代替按钮,让门触发后打开。

为了防止,按以上步骤做出来够会出现问题,截一个Scene中的图吧!!


源文件下载地址:http://download.youkuaiyun.com/detail/rechard0121/6800131


Unity2D物理关节实战:用HingeJoint2D实现动态锁链钩爪 在Unity2D物理系统中,关节(Joints)是连接刚体并约束其相对运动的核心组件,它通过定义刚体间的连接方式与运动规则,构建出复杂的物理交互行为。其中,HingeJoint2D作为铰链关节,模拟了围绕固定锚点的旋转运动,是实现柔性、分段式物理结构(如锁链、绳索、钟摆)的技术基础。理解其锚点(Anchor)、连接锚点(Connected Anchor)及旋转限制等参数,是掌握关节系统原理的关键。这种基于物理的模拟技术,能够为游戏带来高度真实的动态效果与沉浸式交互体验,尤其适用于平台跳跃、解谜与动作类游戏中 阅读详情

相关推荐

【Unity实战】零代码实现物理2d绳子和绳桥效果——Hinge Joint 2D的使用

本文使用Hinge Joint 2D零代码带大家一起来给我们的2d游戏添加一些物理方面的乐趣,创建些摆动的绳子对象以及弹力绳桥这样的小物理相互作用,我希望这样能给你的游戏带来一些灵感。当然显然它们会有一点性能开销,所以不要太过疯狂的去使用它们,但是它们玩起来很有趣,并且如果使用得当,能给你的游戏增添很多活力和互动性。这是本人的学习分享记录。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3560

unity中的Hinge Joint铰链关节

铰链关节(Hinge Joint)是一种允许两个物体绕着一个固定轴旋转的关节。它通常用于模拟门、大门、手肘等自然物体的旋转运动。在物理引擎中,铰链关节是一种常见的约束类型,可以通过设置旋转限制来控制物体的旋转范围,从而实现更加真实的物理模拟效果。铰链关节由两个刚体组成,一个是主刚体,另一个是从刚体。主刚体固定在某个位置,从刚体则绕着主刚体上的轴旋转。铰链关节可以有一个或多个旋转限制,如最大旋转角度、最小旋转角度等,这些限制可以控制从刚体的旋转范围,从而实现更加真实的物理模拟效果。

qq_20179331的博客 2752

unity-2d-ropes:带有使用铰链接头创建的2D绳索的Unity项目

统一2D绳索 使用铰链接头创建的带有2D绳索的Unity项目

Unity Hinge Joint铰链组件

铰链组件 本文提供全流程,中文翻译。 助力快速学习 Unity Hinge Joint 铰链关节的使用 为初学者节省宝贵的时间,避免采坑! 使用铰链实现开关门 Unity 铰链 Hinge Joint Hinge Joint 实现开关门 Connected Body 连接的对象,如果没有设置,则连接到世界 Anchor 自身摆动的轴的位置。该位置在本地坐标系中定义 Axis 绕着某个轴旋转。 Axis 绕着某个轴旋转。 Auto Configure Connected Anchor 如果启用此选项,则将自

Chinar优快云的博客 2万+

彩票预测的可能性与算法分析

彩票作为一种以随机数为基础的赌博形式,吸引了大量希望一夜暴富的参与者。尽管许多人希望通过某种方式预测彩票结果,以增加中奖几率,但彩票预测的可能性依然是一个充满争议和误解的话题。本文将探讨彩票是否能够预测的理论依据,分析可能的预测算法,并解释这些算法为何在实际应用中难以奏效。

m0_38012434的博客 2万+

SC8F073单片机串口通信保姆级教程:从寄存器配置到完整收发Demo(附避坑指南)

本文详细解析了SC8F073单片机串口通信的寄存器配置与调试技巧,涵盖TXSTA、RCSTA和SPBRG寄存器的逐位设置,提供精确的波特率计算方法和工业级抗干扰策略。通过完整的收发Demo和避坑指南,帮助开发者快速掌握底层串口通信技术,适用于工业控制等严苛环境。

weixin_33724046的博客 485

Unity组件大全之 Physics物理 |(65)Hinge Joint 铰链关节

在 Unity 的物理引擎中,Joint 组件允许开发者将两个物体通过各种约束进行连接,以模拟物理世界中的不同关系。Hinge Joint 是其中非常常用的一种,它能够模拟类似门轴或关节的运动,使一个物体围绕某个轴进行旋转。在这篇文章中,我们将详细解析 Unity 中的 Hinge Joint 组件,介绍其属性、使用场景,并通过代码示例展示如何利用 Hinge Joint 实现各种物理行为。

Unity打怪升级 3789

五段式S型算法笔记

又因为有 v-v0= 0.5jt通式: 所以有 vm-v0= 0.5jtm 所以有4vm-4v0= 2jtm。算法1: v=2vm-v0-0.5*jt+2jt*tm-2jtm*tm。加加速度j 自己设置 已知,vmax自己设置已知;所以有4vm-4v0= 2jtm带入算法1。

qq_36658033的博客 681

通过Unity的铰链(HingeJoint)来制作弹簧门

弹框门就是很多办公区域或者大门,推开后进入后弹簧会自动关闭门。 Unity里通过HingeJoint物理可以实现,如果你需要这样的逼真感觉。 首先在场景中放置一个门框(紫色),作为合页和弹簧的安装处。:) 当然我偷工减料只给一个柱子就够了。 再放一扇木门(土灰色) 如图: 首先给门框和门都增加Rigidbody(刚体),这个是必要的。 门框的刚体因为门框是不进行碰撞运动的,所以必须勾上IsKinematic(运动学刚体) 门因为要旋转运动,而且有东西穿过要碰撞互动,所以不用运动学刚体。 ...

thinbug的专栏 9066

微信小店推客分销系统源码获取与自研开发全攻略(2025年最新版)

源码选择建议快速试错:选用开源项目(如启航系统),3天可上线基础功能长期布局:购买商业源码授权,重点定制分佣规则与UI交互完全自研:适合年GMV过亿的大型企业,需前置投入风控与合规设计行动清单注册微信开放平台账号,完成视频号机构认证下载开源项目代码,部署本地测试环境联系三家源码供应商,获取合规性审计报告设计三级分佣比例表,通过法律顾问合规审查通过以上路径,可高效构建合规、稳定、高转化的微信小店推客分销系统,抢占2025年视频号电商红利。

2401_85184777的博客 1283

Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)

本文详细介绍了2025年最新Kindle电子书DRM移除的完整实战流程。针对亚马逊加密机制的升级,文章重点讲解了如何配置最新的DeDRM插件、从新版Kindle客户端提取密钥,并利用Calibre完成电子书的解密与格式转换,为个人备份提供了一套可行的解决方案。

weixin_29279153的博客 1740

《Unity HingeJoint的简单运用,门》 有两行代码现在已经用不了改了一下 有兴趣的朋友可以看一下啊 原作者原谅我啊

using System;using UnityEngine;using System.Collections;public class Test : MonoBehaviour{    private float OpenSpeed = 30;    private string option = "";    private bool isOpen = false;    static Joi...

juhannus的博客 1039

川崎机器人 AS语言基础运动指令表

    功能简介 动作方式 参考坐标系 位置特性 X,Y,Z 角度特性 O,A,T 指令格式(距离单位毫米,时间单位秒,角度单位度 示例1 示例2 运 动 指 令 JMOVE 以关节移动到目标点 关节移动方式 基础坐标系 不受控 伪随机动作 JMOVE 目标点 JMOVE #yd JMOVE put1 LMOVE 以直线移动到目标点 直线移动方式

喜欢自学并分享经验的技术宅 9352

Unity2D锁链效果实现(一)——HingeJoint2D组件的使用

前言 最近在自己做开发的时候突然想在2D游戏做一个扔出锁链的效果,但是在网上感觉没有找到一个好懂详细的锁链实现教程,于是自己研究了一下,也借鉴了社区里一些关于HingeJoint2D组件的讲解和教程,终于搞明白了该怎么实现 实现目标 HingeJoint2D铰链关节的使用要点 2D锁链的实现方案 实现代码 实现效果 结语 ...

Meytones的博客 5438

Python 爬虫实战:雪球用户数据爬取与投资行为分析(含 API 签名算法解析)

雪球作为国内领先的投资者社区,拥有丰富的用户数据和投资信息。通过爬取雪球用户数据并进行分析,我们可以深入了解用户的持仓偏好、交易行为和投资策略,为企业和投资者提供有价值的市场洞察。

yansideyucsdn的博客 2247

基于Simulink的单级式光伏并网系统MPPT控制仿真

本文基于Simulink平台,详细介绍了单级式光伏并网系统的MPPT控制仿真实现。主要内容包括:1)阐述MPPT作为光伏系统"智能大脑"的核心作用;2)解析单级式系统架构及扰动观察法(P&O)算法原理;3)以10kW户用系统为例,分步骤演示建模过程,包括光伏阵列搭建、P&O控制器实现(含MATLAB代码)、并网控制设计等;4)通过仿真验证系统在光照突变下的动态响应性能,MPPT效率达98.3%。文章还提出了变步长P&O等优化方向,为光伏系统仿真与控制提供实用指导。

xiaoheshang_123的博客 111

Unity中HingeJoint控制开门

在unity的建筑场景中,大家会碰到这样一个问题,建筑中门的运动不自然,没有开门的效果。如果有不了解HingeJoint(铰链关节)的人习惯性的通过旋转门的方向来达到开门的效果,这样就会存在一个物体,开门时无法控制开门的幅度,门是在固定的条件下旋转,而不是像现实中受力的影响而偏移。下面就和大家介绍下通过HingeJoint来控制开门的效果。 一、场景的搭建 在场景中通过Cube搭建出一个门,用独立...

mrhotsummer的博客 3743

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Pico4 Unity开发入门(3)——触碰把手开门

实现手柄触碰门把手开关门。

L_Cherish_H的博客 3144

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Unity 2D 物理系统 - HingeJoint2D制作摆锤链条及吊桥

本文介绍了在Unity2D中使用HingeJoint2D和Rigidbody2D组件制作物理链条效果的方法。第一部分讲解了摆锤链条的制作步骤:创建锚点物体Anchor(设置为Kinematic类型)、多个胶囊体(添加HingeJoint2D组件)和末端球体,通过设置铰链关节的连接刚体和锚点实现动态效果。第二部分演示了吊桥的制作:使用两个Static类型的锚点(起点和终点),中间连接多个长方形物体,每个都添加HingeJoint2D组件并连接前一个物体。通过合理配置这些物理组件,实现了逼真的链条摆动和吊桥效果

Giver的博客 945

第二十九章 Unity关节Joint

unity的Hinge Joint铰链关节,使用铰链制作开门效果

konkon2012的博客 3732

Unity 2D物理锁链实现:HingeJoint2D组件详解与拖拽交互方案

在2D游戏开发中,物理关节系统是实现真实感交互的核心技术之一。其原理是通过约束连接多个刚体,模拟现实世界的机械连接行为,如铰链、弹簧和距离关节等。这项技术的价值在于能够以较低的计算成本,为游戏对象赋予符合物理规律的动态行为,极大地增强了游戏的沉浸感和交互可能性。在应用场景上,物理关节广泛用于实现绳索、链条、钟摆、可破坏结构以及角色布娃娃系统等。本文聚焦于使用Unity的HingeJoint2D组件,该组件专门模拟铰链旋转行为,是构建2D物理锁链的理想选择。通过合理配置其锚点、旋转限制和阻尼参数,可以快速搭建

weixin_33928137的博客 387

unity如何做一个可以打开关闭的门?

https://docs.unity.cn/cn/current/Manual/class-HingeJoint.html 使用物理系统的铰链就可以 官方的文档写的特别简单 首先给想动的门 添加 Hinge Joint 组件 ,至于门贴到哪里不需要设置任何东西,只有门也可以转。 你会看到门上有个小黄箭头 他就是门转动的轴 箭头的位置是用这个来确定 这三个是确定能围绕哪个轴转 能转的就是1 不能就是0 自己多试试就知道了 这三个不需要设置 这个是给门一个力 到游戏里 你会用程序让门打开 或者 关闭

游戏人生 2255

Unity 物理引擎之铰链关节(Hinge Joint)

关节分类 铰链关节(Hinge Joint) 下面举个例子: 创建一个小球,选中小球添加铰链关节如下所示: 此时运行 因为这条箭头朝向X轴,所以会围绕X轴转动 介绍Sphere上的Hinge Joint 的属性以及应用 新建的Cube的设置:添加Rigibody 运行然后拖拽Cube物体,Sphere会跟随着摆动 1. 锚点,相当于是围...

奋斗的菇凉的博客 1万+

Unity中的Joint

Unity中的Joint是物理组件的一种,用于模拟物体与物体之间或者物体与世界空间某点的连接关系。这些Joint组件通过施加力的方式来限制物体的运动,从而达到所需的物理效果。总的来说,Unity中的Joint组件为开发者提供了强大的物理模拟工具,使他们能够创建出更加逼真和引人入胜的游戏和模拟场景。

Xiao_Chen____的博客 1736

关于铰链门简单介绍、第三人称小球(相机固定法)、法阵门的闭合问题

1)首先利用Cube建立一个门框结构,创建一个空物体作为父物体,将门框拖入下面成为它的子物体,然后门框结构就做成了! 需要添加刚体RigidBody将门框固定并增加重力(不然会出现门框动的现象) 2)创建门,门需要添加刚体Rigidboady和铰链Hinge joint ! 再然后将铰链与一侧门进行连接,添加铰链后,选中门会出现一个小箭头,箭头指向应该与门框垂直并放入门框(所以需要进行调节如下) 然后铰链门就完成了! ...

Linxueli的博客 1059
上一篇: php 邮件发送
下一篇: php pearmail 发送邮件(windows环境)
Rechard0121
博客等级 码龄15年 4粉丝 39原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值