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

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

最终效果

前言

本文使用Hinge Joint 2D零代码带大家一起来给我们的2d游戏添加一些物理方面的乐趣,创建些摆动的绳子对象以及弹力绳桥这样的小物理相互作用,我希望这样能给你的游戏带来一些灵感。

当然显然它们会有一点性能开销,所以不要太过疯狂的去使用它们,但是它们玩起来很有趣,并且如果使用得当,能给你的游戏增添很多活力和互动性。

ps:这是本人的学习分享记录

一、绳子

1. 方法一

简单的实现

配置碰撞体积和绳子形状

添加Hinge Joint 2D关节组件,调整位置

从下到上连接各个关节

修改父节点静止,并绑定到第一个关节点

效果

问题,当我们想移动它时,所有节点就都断开了

删除父节点的刚体组件

添加一个开始节点,保持位置和第一个节点一致

将开始节点绑定到第一个节点并取消自动配置连接(Auto Configure Connected)的勾选,避免一些问题

效果

2. 方法二

如果你的绳子形状不是很好,使用前面的方法创建的绳子表现可能不太好

这时候就可以使用第二种方法,精灵骨骼移动

精灵骨骼编辑

点击我们的单一图片,编辑

选择编辑蒙皮

创建骨骼节点

最后右键取消即可

如果你画的不太好,还可以点击重新编辑我们的骨骼

最后确认我们勾选了权重选项

使用精灵骨骼简单制作绳子效果

将图片拖入地图,并添加Sprite Skin组件,点击创建骨骼

效果,图片是骨骼的形式展示,我们把所有的骨骼变为当前绳子的子物品

其他的就跟前面步骤一样了,挂载各个节点配置

限制每个节点旋转角度

运行效果,发现一个问题,每个节点可以旋转360度,显然这不是我们要的

给所有字节添加限制为-50到50度,记得勾选使用限制

效果

最后给每个子字节添加胶囊碰撞体,实现与人物互动

效果

更大的质量添加稳定性

问题,但是当我们人物撞击力度很大时会对绳子造成破坏

我们可以选择添加更大的质量来稳定它

当然,前面实现的绳子也可以

绑定球体,配置更高的质量和重力

效果

二、绳桥

桥和前面创建效果基本类似,只不过多了起点节点和终点节点,并把起点节点和终点节点刚体设置为静态即可

效果

如果你想要一个更紧的桥,你可以把每个子节点添加更高的质量

补充

按理说3D效果应该也是类似的方式,只要把Hinge Joint 2D换成Hinge Joint就可以了,不够具体我也没测试过,就留给大家自行去试吧

参考

【视频】https://www.youtube.com/watch?v=iGlD3f-5JpA

目录
相关文章
|
3月前
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
144 6
|
3月前
|
开发者 图形学 Java
揭秘Unity物理引擎核心技术:从刚体动力学到关节连接,全方位教你如何在虚拟世界中重现真实物理现象——含实战代码示例与详细解析
【8月更文挑战第31天】Unity物理引擎对于游戏开发至关重要,它能够模拟真实的物理效果,如刚体运动、碰撞检测及关节连接等。通过Rigidbody和Collider组件,开发者可以轻松实现物体间的互动与碰撞。本文通过具体代码示例介绍了如何使用Unity物理引擎实现物体运动、施加力、使用关节连接以及模拟弹簧效果等功能,帮助开发者提升游戏的真实感与沉浸感。
68 1
|
3月前
|
图形学
小功能⭐️Unity UnityEvent实现代码的选择
小功能⭐️Unity UnityEvent实现代码的选择
|
2月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
128 0
|
3月前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
101 0
|
3月前
|
开发者 图形学 C#
揭秘游戏沉浸感的秘密武器:深度解析Unity中的音频设计技巧,从背景音乐到动态音效,全面提升你的游戏氛围艺术——附实战代码示例与应用场景指导
【8月更文挑战第31天】音频设计在游戏开发中至关重要,不仅能增强沉浸感,还能传递信息,构建氛围。Unity作为跨平台游戏引擎,提供了丰富的音频处理功能,助力开发者轻松实现复杂音效。本文将探讨如何利用Unity的音频设计提升游戏氛围,并通过具体示例代码展示实现过程。例如,在恐怖游戏中,阴森的背景音乐和突然的脚步声能增加紧张感;在休闲游戏中,轻快的旋律则让玩家感到愉悦。
79 0
|
3月前
|
图形学 开发者
【Unity光照艺术手册】掌握这些技巧,让你的游戏场景瞬间提升档次:从基础光源到全局光照,打造24小时不间断的视觉盛宴——如何运用代码与烘焙创造逼真光影效果全解析
【8月更文挑战第31天】在Unity中,合理的光照与阴影设置对于打造逼真环境至关重要。本文介绍Unity支持的多种光源类型,如定向光、点光源、聚光灯等,并通过具体示例展示如何使用着色器和脚本控制光照强度,模拟不同时间段的光照变化。此外,还介绍了动态和静态阴影、全局光照及光照探针等高级功能,帮助开发者创造丰富多样的光影效果,提升游戏沉浸感。
61 0
|
3月前
|
开发者 图形学 Java
Unity物理引擎深度揭秘:从刚体碰撞到软体模拟,全面解析实现复杂物理交互的技巧与秘诀,助你打造超真实游戏体验
【8月更文挑战第31天】物理模拟在游戏开发中至关重要,可让虚拟世界更真实。Unity作为强大的跨平台游戏引擎,内置物理系统,支持从刚体碰撞到布料模拟的多种功能。通过添加Rigidbody组件,可实现物体受力和碰撞;使用AddForce()施加力;通过关节(如Fixed Joint)连接刚体以模拟复杂结构。Unity还支持软体物理,如布料和绳索模拟,进一步增强场景丰富度。掌握这些技术,可大幅提升游戏的真实感和玩家体验。
75 0
|
3月前
|
开发者 图形学 UED
深度解析Unity游戏开发中的性能瓶颈与优化方案:从资源管理到代码执行,全方位提升你的游戏流畅度,让玩家体验飞跃性的顺滑——不止是技巧,更是艺术的追求
【8月更文挑战第31天】《Unity性能优化实战:让你的游戏流畅如飞》详细介绍了Unity游戏性能优化的关键技巧,涵盖资源管理、代码优化、场景管理和内存管理等方面。通过具体示例,如纹理打包、异步加载、协程使用及LOD技术,帮助开发者打造高效流畅的游戏体验。文中提供了实用代码片段,助力减少内存消耗、提升渲染效率,确保游戏运行丝滑顺畅。性能优化是一个持续过程,需不断测试调整以达最佳效果。
80 0
|
3月前
|
图形学
小功能⭐️Unity改变代码执行顺序
小功能⭐️Unity改变代码执行顺序