游戏开发中的物理之软体

简介: 游戏开发中的物理之软体

软体(或软体动力学)模拟可变形对象的运动,改变形状和其他物理特性。例如,这可以用于模拟衣服或创建更逼真的角色。


基本设置


甲软体节点用于软体模拟。


我们将创建一个有弹性的多维数据集以演示软体的设置。


创建一个以Spatial节点为根的新场景。然后,创建一个Softbody节点。在检查器中的节点CubeMesh的mesh属性中添加,并增加网格的细分以进行仿真。


image.png


设置参数以获得所需的软体类型。 尝试将Simulation Precision(仿真精度)保持在5以上,否则,软体可能会塌陷。


image.png


注意

请谨慎处理某些参数,因为某些值可能会导致奇怪的结果。例如,如果形状没有完全闭合,并且您将压力设置为大于0,则软体将在强风下像塑料袋一样飞来飞去。

播放场景以查看模拟。


提示

为了改善仿真结果,提高Simulation Precision,这将以性能为代价进行重大改进。


斗篷模拟


让我们在Platformer3D演示中隐身。


注意


您可以在GitHub https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer或资产库上下载Platformer3D演示。


打开Player场景,添加一个SoftBody节点并为其分配一个PlaneMesh。


打开PlaneMesh属性并设置大小(x:0.5 y:1),然后将Subdivide Width和Subdivide Depth设置为5。调整SoftBody的位置。 您应该以如下形式结束:


image.png


提示

细分会生成更加细分的网格,以实现更好的仿真。

在骨骼节点下添加一个BoneAttachment节点,然后选择“颈部”骨骼将披风附加到角色骨骼。


注意

BoneAttachment节点是将对象附加到电枢的骨骼上。附着的物体将跟随骨骼的运动,可以通过这种方式附着角色的武器。

image.png


要创建固定关节,请在SoftBody节点中选择较高的顶点:


image.png


该固定接头可以在找到SoftBody的Attachments属性,选择BoneAttachment为SpatialAttachment每个固定关节,关节固定,现在固定在颈。


image.png


最后一步是通过将“运动身体播放器”添加到“ SoftBody的Parent Collision Ignore”来避免剪切。


image.png


播放场景,斗篷应正确模拟。


image.png


这涵盖了软件的基本设置,尝试了参数以实现制作游戏时想要达到的效果。


目录
相关文章
|
编译器 API 开发工具
游戏编程之十四 游戏使计算机的发展超越了晶体管时代
游戏编程之十四 游戏使计算机的发展超越了晶体管时代
42 0
游戏开发中的物理之使用KinematicBody2D(02)
游戏开发中的物理之使用KinematicBody2D
274 0
|
4月前
|
开发者 图形学 Java
Unity物理引擎深度揭秘:从刚体碰撞到软体模拟,全面解析实现复杂物理交互的技巧与秘诀,助你打造超真实游戏体验
【8月更文挑战第31天】物理模拟在游戏开发中至关重要,可让虚拟世界更真实。Unity作为强大的跨平台游戏引擎,内置物理系统,支持从刚体碰撞到布料模拟的多种功能。通过添加Rigidbody组件,可实现物体受力和碰撞;使用AddForce()施加力;通过关节(如Fixed Joint)连接刚体以模拟复杂结构。Unity还支持软体物理,如布料和绳索模拟,进一步增强场景丰富度。掌握这些技术,可大幅提升游戏的真实感和玩家体验。
180 0
|
7月前
|
移动开发 监控 Android开发
构建高效Android应用:从内存优化到电池寿命代码之美:从功能实现到艺术创作
【5月更文挑战第28天】 在移动开发领域,特别是针对Android系统,性能优化始终是关键议题之一。本文深入探讨了如何通过细致的内存管理和电池使用策略,提升Android应用的运行效率和用户体验。文章不仅涵盖了现代Android设备上常见的内存泄漏问题,还提出了有效的解决方案,包括代码级优化和使用工具进行诊断。同时,文中也详细阐述了如何通过减少不必要的后台服务、合理管理设备唤醒锁以及优化网络调用等手段延长应用的电池续航时间。这些方法和技术旨在帮助开发者构建更加健壮、高效的Android应用程序。
|
7月前
|
Python
物理力学的奥秘与应用
物理力学的奥秘与应用
145 1
|
7月前
|
vr&ar Python
物理电学应用实践
物理电学应用实践
65 0
|
7月前
|
Python
物理电学:原理、应用与编程实践
物理电学:原理、应用与编程实践
82 0
|
7月前
|
数据采集 算法 C++
物理电学的编程
物理电学的编程
57 1
|
7月前
|
C++ 开发者 Python
物理力学的编程
物理力学的编程
49 0
游戏开发中的物理之布娃娃系统
游戏开发中的物理之布娃娃系统
334 0
游戏开发中的物理之布娃娃系统