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

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

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

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

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

特性基于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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode(36)有效的数独 ⭐⭐

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 注…

微商城怎么弄才能开通呢?

​微商城的开通,对于许多商家来说,是进入移动电商领域的重要一步。它不仅能帮助你扩大销售渠道,还能让你更好地管理和服务你的客户。那么,微商城怎么弄才能开通呢? 1、注册微信公众号:首先,你需…

奇数码问题

title: 奇数码问题 date: 2024-01-05 11:52:04 tags: 逆序对 cstefories: 算法进阶指南 题目大意 解题思路 将二维转化为一维&#xff0c;求他的逆序对&#xff0c;如果逆序对的奇偶性相同&#xff0c;则能够实现。 代码实现 #include<iostream> #include<string.h&…

《MySQL系列-InnoDB引擎05》MySQL索引与算法

文章目录 第五章 索引与算法1 InnoDB存储引擎索引概述2 数据结构与算法2.1 二分查找法2.2 二分查找树和平衡二叉树 3 B树3.1 B树的插入操作3.2 B树的删除操作 4 B树索引4.1 聚集索引4.2 辅助索引4.3 B树索引的分裂 5 Cardinality值5.1 什么是Cardinality5.2 InnoDB存储引擎的Ca…

本地引入Element UI后导致图标显示异常

引入方式 npm 安装 推荐使用 npm 的方式安装&#xff0c;它能更好地和 webpack 打包工具配合使用。 npm i element-ui -SCDN 目前可以通过 unpkg.com/element-ui 获取到最新版本的资源&#xff0c;在页面上引入 js 和 css 文件即可开始使用。 <!-- 引入样式 --> <…

vue项目使用vue-pdf插件预览pdf文件

1、安装vue-pdf&#xff1a;npm install --save vue-pdf 2、使用 具体实现代码&#xff1a;pdfPreview.vue <template><div class"container"><pdfref"pdf":src"pdfUrl":page"currentPage":rotate"pageRotate&qu…

uniapp中的导入zzx-calendar日历的使用

需求&#xff1a; 一周的日历&#xff0c;并且可以查看当月的 &#xff0c;下个月的&#xff0c;以及可以一周一周的切换日期 借助&#xff1a;hbuilder插件市场中的zzx-calendar插件库 在父组件中引入 并注册为子组件 <template><zzx-calendar selected-change&qu…

C#编程-实现数组

实现数组 数组是相同数据类型的值得集合。例如,您可以创建存储10个整数类型值的数组。数组中的变量称为数组元素。通过使用单个名称和代表数组中元素位置的索引号来访问数组元素。数组是引用类型的数据类型。下图显示系统内存中的数组结构。 声明数组 在程序中使用数组之前需…

Java中的SPI机制

Java中的SPI&#xff08;Service Provider Interface&#xff09;机制是一种服务发现机制。它允许服务提供者在运行时被发现和加载&#xff0c;而不是在编译时。这种机制主要用于实现解耦&#xff0c;使得接口的定义与实现可以独立变化&#xff0c;增强了系统的可扩展性和可替换…

Windows下MongoDB启动及停止服务

1.CMD黑窗口输入启动命令&#xff1a; net start MongoDB 2.CMD黑窗口输入停止命令&#xff1a; net stop MongoDB

MindSpore Serving与TGI框架 の 对比

一、MindSpore Serving MindSpore Serving是一款轻量级、高性能的服务工具&#xff0c;帮助用户在生产环境中高效部署在线推理服务。 使用MindSpore完成模型训练>导出MindSpore模型&#xff0c;即可使用MindSpore Serving创建该模型的推理服务。 MindSpore Serving包含以…

基于ssm的班级事务管理系统+vue论文

摘 要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff0c;对班级事务信息管理的提升&#x…

FA2016AA (MHz范围晶体单元超小型低轮廓贴片) 汽车

随着科技的不断发展&#xff0c;智能汽车逐渐成为人们出行的首选。而其中&#xff0c;频率范围在19.2 MHz ~ 54 MHz的晶体单元超小型低轮廓贴片&#xff08;FA2016AA&#xff09;为汽车打造更智能、更舒适、更安全的出行体验。FA2016AA贴片的外形尺寸为2.0 1.6 0.5 mm&#x…

跨境电商竞品分析:洞察市场,赢得先机的关键策略

在全球化日益加速的今天&#xff0c;跨境电商已经成为了企业拓展市场、提高销售额的重要手段。然而&#xff0c;跨境电商市场的竞争也日趋激烈&#xff0c;如何在众多竞争对手中脱颖而出&#xff0c;成为每个企业都面临的挑战&#xff1b;想要做到这点&#xff0c;了解竞品情况…

电脑提示找不到mfc140u.dll,无法继续执行代怎么办,mfc140u.dll丢失的解决办法

在使用电脑时&#xff0c;我们常常会遇到各种各样的问题。其中一个比较常见的问题就是“找不到mfc140u.dll,无法继续执行代码”。今天小编主要就围绕这mfc140u.dll这个文件来给大家详细的解析一下吧&#xff0c;让大家更清楚的知道这个问题以及怎么去解决这个问题。接下来一起来…

第10课 利用windows API捕获桌面图像并通过FFmpeg分享

在上一章&#xff0c;我们已经实现了一对一音视频对话功能。在实际应用中&#xff0c;我们常需要把自己的电脑桌面分享给他人以实现桌面共享功能&#xff0c;这种功能在视频会议、在线教学等场景中很常见&#xff0c;这种功能如何实现呢&#xff1f;这节课我们就来解决这个问题…

【响应式编程-03】常见的函数式接口

一、简要描述 使用Lambda的前提 必须有一个函数式接口: 有且只有一个抽象方法的接口 FunctionnalInterface注解 常见的函数式接口 Runnable / CallableSupplier / ConsumerComparatorPredicateFunction 二、代码实现 1、Runnable - RunnableLambda测试类 package tech.flygo.…

CloudCanal x Redis 数据同步指令集丰富与细节优化

简述 CloudCanal 前一段时间支持了 Redis 到 Redis 数据迁移同步能力&#xff0c;并支持其双向同步&#xff0c;但是支持的指令种类有限。 随着用户使用&#xff0c;指令支持不全面成为一个比较大的问题&#xff0c;所以最近的版本&#xff0c;我们对此能力&#xff0c;结合用…

695岛屿最大面积

题目 给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c; grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被水完全包围&#xff0c;但其中恰好有一个…

华为交换机如何同时配置多个端口参数

知识改变命运&#xff0c;技术就是要分享&#xff0c;有问题随时联系&#xff0c;免费答疑&#xff0c;欢迎联系&#xff01; 华为交换机如何批量配置端口 使用端口组功能可以实现一次配置多个端口,以减少重复配置工作。端口组分为如下两种方式: 永久端口组。如果用户需要多次…