【unity】基于Obi的绳/杆蓝图、绳杆区别及其创建方法

news2024/11/27 20:31:02

绳索 是通过使用距离和弯曲约束将粒子连接起来而形成的。由于规则粒子没有方向(只有位置),因此无法模拟扭转效应(维基百科),绳子也无法保持其静止形状。然而,与杆不同的是,绳索可以被撕裂/劈开,并且可以在运行时改变其长度。

是通过使用拉伸/剪切和弯曲/扭转约束连接定向粒子而构建的。它们比绳索复杂得多,可以模拟扭转影响并保持其静止形状。然而,它们的长度不能在运行时改变,它们不能被撕裂/分裂。棒是理想的模型弹簧,粗杆,天线等。

请添加图片描述
杆能保持静止的形状,绳不能。

杆不能被撕裂或动态调整大小。这张表总结了绳索和杆的区别:

特性基于Obi的绳基于Obi的杆
Rest shapeNoYes
抗扭强度NoYes
动态调整大小(ObiCursor)YesNo
可撕裂YesNo

要生成基本的绳/杆的蓝图,请依次进入 Assets->Create->Obi->Rope/Rod blueprint,或者右键单击项目文件夹并选择 Create->Obi->Rope/Rod blueprint。绳杆设计图参数如下:

  • Thickness(厚度):生成绳/杆的粒子半径,以米表示。

  • Resolution(分辨率):每长度单位的粒子密度。值为1将生成重叠等于绳子厚度的粒子。0.5的值将产生粒子,使它们几乎不相互接触。低于0.5的值将在粒子之间留下间隙,这可能对碰撞检测的鲁棒性有害,但对性能有益。值为0时,每个控制点只产生一个粒子。

    内部,基于分辨率计算rope中粒子数量的公式为:particleCount = ropeLength / ropeThickness * resolution。如果你在运行时创建绳索,你可以使用这个公式来计算所需的分辨率,以获得绳索中特定数量的粒子:resolution = particleCount / (ropeLength / ropeThickness)。

    在这里插入图片描述
    (在较低分辨率的绳索中,弯曲和距离限制可以看到微弱的紫色和绿色线条。)

  • Pooled particles(池粒子):(仅绳索)。分配给撕裂或调整绳子大小时使用的额外颗粒。不打算在运行时撕裂或调整绳子的大小,可以将此值设置为零。

  • Keep initial shape(保持初始形状):(仅杆)。如果希望杆保持其初始形状作为其静止形状,启用此选项。禁用它导致杆假定一个完全笔直的静止形状。

若要编辑绳或杆的蓝图,先将蓝图分配给绳或杆脚本的蓝图槽。然后点击编辑路径按钮,进入路径编辑模式:

请添加图片描述

路径编辑器

请添加图片描述
路径编辑模式,选择一个控制点(白色小球体),显示其厚度手柄(橙色圆盘)和两个切线手柄(每边正方形)。

请添加图片描述
生成的绳子,使用 Extruded renderer(挤压渲染器)

绳/杆蓝图中的粒子沿着路径生成,是经过几个控制点的弯曲形状。在路径编辑器中,你可以添加/删除控制点,移动/旋转/缩放现有的控制点,并设置控制点属性,这些属性将被插值到绳索粒子上。在编辑路径时,您将获得生成的绳/杆的即时反馈。有时在编辑路径时使用 ObiParticleRenderer组件 很有用,可以清楚地看到路径是如何转换为粒子的。

当编辑路径时,如果正在修改绳索的蓝图。修改将应用于所有共享相同蓝图的绳/杆。这能加速工作,也能毁掉工作,最好复制蓝图进行工作。

01 添加控制点工具请添加图片描述

此开关使工具能够可视地向样条添加控制点。在鼠标光标和样条中最近的点之间将出现一条绿色虚线。单击将在该位置的曲线上插入一个新的控制点。

02 移除控制点工具请添加图片描述

此开关使工具能够以可视方式从样条中删除控制点。在鼠标光标和样条中最近的点之间将出现一条红色虚线。点击将删除曲线中最近的控制点。

03 打开/关闭路径请添加图片描述
路径可以是开放的(两端独立)或封闭的(曲线遵循封闭路径,两端共享相同的位置和切线)。

04 定向工具(仅限杆)请添加图片描述
此工具允许定义每个控制点的方向。这允许指定杆的剩余捻度(扭度)。

05 切换切线手柄请添加图片描述
切换切线手柄的开启/关闭。

06切换厚度手柄请添加图片描述
切换厚度手柄的开启/关闭。

07 编辑控制点
你可以按住“shift”同时选择多个控制点,也可以使用“ctrl”拖动选择选框。平移、旋转和缩放小装置的工作方式与常规游戏对象相同,旋转和转换空间切换也是如此。

每个切线句柄有三种操作模式,可以按句柄设置:Free(自由)Aligned(对齐)Mirrored(镜像)

  • Free(自由):手柄的每一半都可以自由地独立移动。这允许创建尖锐的角落或曲率的突然变化。
  • Aligned(对齐):两半将被迫位于与控制点的切线上,但是它们的长度可以独立设置。
  • Mirrored(镜像):两半将被迫在方向和长度上都是相同的。

除了切线模式,每个控制点都有几个属性(通过插值)传递给粒子:

  • Thickness(厚度):这一点处绳子的厚度。插值到粒子,用于碰撞检测和渲染。
  • Mass:粒子质量。决定粒子在与另一个粒子或刚体发生任何约束(碰撞、距离、弯曲…)时的行为。
  • Category:粒子碰撞类别,用于确定何时应该忽略与对撞机和其他粒子的碰撞。有关更深入的解释,请参见碰撞。
  • Collides with:粒子碰撞遮罩,用于确定何时应该忽略与对撞机和其他粒子的碰撞。有关更深入的解释,请参见碰撞。
  • Color:颜色的控制点,插值到粒子。当使用 ObiRopeExtrudedRenderer时,这个颜色传递给网格顶点颜色。
  • Name:Obi将自动为每个控制点创建一个粒子组,其中包含最接近该控制点的粒子。您可以在这里设置组的名称。

参考地址:https://obi.virtualmethodstudio.com/manual/6.3/index.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1357064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第3章 【例题】(完整版)

目录 前言 【例3.1】有关成绩结构体的例子 【例3.2】使用Score类的完整程序 【例 3.3】一个存在错误的程序 【例3.4】用对象赋值语句的例子 【例3.5】为类Score定义一个构造函数 【例3.6】建立对象的同时,用构造函数给数据成员赋初值 【例3.7】用成员初始…

智能手机2024:狂卷“微创新”后如何突破新机遇

文 | 智能相对论 作者 | 楷楷 2023年,智能手机市场终于开始展露曙光。Counterpoint Research数据显示,2023年10月全球智能手机销量同比增长5%,智能手机市场出货量在经历了连续27个月的同比下滑后,首次出现同比正增长。 特别是在…

IDEA卡在”正在解析Maven依赖项“的解决方法

修改Maven镜像,修改Maven镜像为阿里云镜像 1.文件路径 C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\plugins 2.因为我使用的是InteliJ idea 自带的Maven,所以直接去idea 插件安装目录,找到Maven插件,找到setting.xml 文…

Linux第4步_安装VMwareTools

安装Ubuntu操作系统后,就可以安装VMwareTools了,目的是实现“电脑和虚拟机之间互相复制粘贴文件”。 1、双击桌面图标“VMware Workstation Pro”,然后点击下图中的“开机”,打开虚拟机电源。 2、双击下图中的用户名“zgq” 3、…

Ubuntu上使用node搭建本地静态http服务器

1.搭建步骤 1.安装Node.js。首先确保你的Ubuntu系统已经安装了Node.js。如果没有安装,可以通过以下命令进行安装: sudo apt-get update sudo apt-get install nodejs #安装nodejs 2.安装npm。npm是Node.js的包管理器,一般会随着Node.js一…

面试算法90:环形房屋偷盗

题目 一条环形街道上有若干房屋。输入一个数组表示该条街道上的房屋内财产的数量。如果这条街道上相邻的两幢房屋被盗就会自动触发报警系统。请计算小偷在这条街道上最多能偷取的财产的数量。例如,街道上5家的财产用数组[2,3,4,5…

【Filament】加载obj和fbx模型

1 前言 3D 模型的常用格式主要有 obj、fbx、gltf 等,Filament 中的 filamesh.exe 工具可以将 obj、fbx 格式转换为 filamesh 格式,然后再加载显示。对于 gltf 格式模型,可以通过 ModelViewer 加载显示,这不在本文的讨论范围内。 1…

【Java基础篇】常见的字符编码、以及它们的区别

常见的字符编码、以及它们的区别 ✔️ 解析✔️扩展知识仓✔️Unicode和UTF-8有啥关系?✔️有了UTF-8,为什么要出现GBK✔️为什么会出现乱码 ✔️ 解析 就像电报只能发出 ”滴” 和 ”答” 声一样,计算机只认识 0 和 1 两种字符,但是&#x…

Python从入门到网络爬虫(函数详解)

前言 函数是变成语言中最常见的语法,函数的本质就是功能的封装。使用函数可以大大提高编程效率与程序的可读性。函数是能够实现特定功能的计算机代码而已,他是一种特定的代码组结构。 函数的作用 1.提升代码的重复利用率,避免重复开发相同代…

ssm基于vue框架和elementui组件的手机官网论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本手机官网就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&#x…

【UEFI基础】EDK网络框架(UNDI)

UNDI UNDI代码综述 UNDI全称Universal Network Driver Interface,它虽然属于UEFI网络框架的一部分,但是并没有在EDK开源代码中实现。不过目前主流网卡厂商都会提供UEFI下的网络驱动,并且大部分都实现了UNDI,这样BIOS下就可以通过…

鸿蒙APP上线注意事项

在将鸿蒙APP上线之前,开发者需要注意一些关键的事项,以确保应用的顺利发布和良好运营。以下是一些建议的注意事项,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.遵循应用市…

【常用排序算法】冒泡排序

冒泡排序 冒泡排序基本思想:N 个数的数组,经过N-1轮排序。 升序 大的值下沉,小的值上浮。降序 小的值下沉,小的字上浮 import java.util.Arrays; public class BubbleSort {public static void main(String[] args) {int[] values…

电脑视频需要分屏怎么做

在当今数字时代,人们对于视频的需求越来越高。有时候,我们可能想在同一屏幕上同时播放多个视频,进行对比、观看、剪辑或者其他目的。那么,视频分屏应该怎么做呢? 在本篇文章中,我们将会详细的为你介绍视频分…

Geotrust DV通配符证书保护域名数量

Geotrust是一家知名的SSL证书提供商,旗下有多种类型的SSL数字证书,保护网站数据在传输过程中的安全性和完整性,帮助用户确认其网站的安全。通配符SSL证书是Geotrust颁发的一种可以同时保护多个域名站点的SSL证书。今天就随SSL盾小编了解Geotr…

conda虚拟环境搭建和打包,删除,移动等全流程及相关问题汇总

私人笔记无偿分享,更多内容请访问:链接:https://pan.baidu.com/s/19mS5N9XJ_AotF20kUwSA3w?pwdp5kx 提取码:p5kx 复制这段内容后打开百度网盘手机App,操作更方便哦 4.4. anaconda虚拟环境搭建: 网址&am…

解决在test以外的目录下导入junit无效

以上引用来自src目录下的文件,可以看到,和junit有关的导入都飘红,但明明junit已经被正确导入进了项目中。 再看右侧的Maven的依赖下方,junit的右边有一个很不起眼的(test) 这是因为junit作为测试框架,可能包含仅适用于…

Halcon区域的面积和中心点area_center

Halcon区域的面积和中心点 提到区域的特征,最常用的莫过于区域的面积和中心点坐标信息。实际工作中,经常会使用面积或中心点进行特征的选择和定位。Halcon中的area_center算子就是用于实现这一功能的,该算子一次返回以下两个结果。 &#xf…

【KingbaseES】实现MySql函数WEEKS_BETWEEN

WEEKS_BETWEEN CREATE OR REPLACE FUNCTION weeks_between(start_date date, end_date date) RETURNS integer AS $$ BEGIN RETURN EXTRACT(WEEK FROM end_date) - EXTRACT(WEEK FROM start_date); END; $$ LANGUAGE plpgsql IMMUTABLE;结果展示

嵌入式Linux之MX6ULL裸机开发学习笔记(IMX启动方式-启动设备的选择)

一,硬件启动方式选择 1.启动方式的选择 6ull支持多种启动方式。 比如可以从 SD/EMMC、 NAND Flash、 QSPI Flash等启动。 6ull是怎么支持多种外置flash启动程序的。 1.启动方式选择: BOOT_MODE0 and BOOT_MODE1,这两个是两个IO来控制的,…