【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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习笔记 3:Vue 工程

前端学习笔记 3:Vue 工程 上一篇文章介绍了如何在单一 Html 页面中使用 Vue,本文介绍如何从头开始用 Vue 构建一个前端工程项目。 1.环境准备 Vue 框架代码的创建依赖于 Node.js,因此需要先安装 Node.js。 2.创建和启动 2.1.创建 通过以…

ARMv8-AArch64 的异常处理模型详解之异常等级、执行状态以及安全状态

ARMv8-AArch64 的异常处理模型详解 一,特权和异常等级1.1 异常等级 Exception levels 二,特权的类型2.1 内存特权2.2 访问寄存器的特权 三,执行状态和安全状态3.1 执行状态 Execution states3.2 执行状态切换 3.3 安全状态 Security states3.…

C#,深度优先搜索(DFS)、广度优先搜索(BFS)算法的源代码与数据可视化

概述 下载源代码: 链接:https://pan.baidu.com/s/1sLxMT78LVg2dWyXXFvM--w?pwd2kwl 提取码:2kwl --来自百度网盘超级会员V5的分享https://pan.baidu.com/s/1sLxMT78LVg2dWyXXFvM--w?pwd2kwl 深度优先搜索(亦称深度优先遍历&a…

c++ / day06

1. 利用模板类完成顺序表(两天时间&#xff0c;今天至少写出大致框架) 代码 //implement template in sqlist #include <iostream> #include <cstring>#define MAXSIZE 100using namespace std;template <typename T> class Sqlist {unsigned int len 0;T…

HTTP打怪升级之路

新手村 上个世纪80年代末&#xff0c;有一天&#xff0c;Tim Berners-Lee正在工作&#xff0c;他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件&#xff0c;但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到&#xff0c;他需要一种新的协议来共享二进制…

【Python排序算法系列】—— 希尔排序

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 希尔排序 &#xff08;ShellSort&#xff09; 由来和特点 理解 过程演示 Step1&#xff1a;…

【C++】- 类和对象(构造函数!析构函数!拷贝构造函数!详解)

类和对象② 类的6个默认成员函数构造函数析构函数拷贝构造函数 类的6个默认成员函数 上一篇详细介绍了类。如果一个类中什么成员都没有&#xff0c;简称为空类。 那么空类中真的什么都没有吗&#xff1f; 并不是&#xff0c;当类在什么都不写时&#xff0c;编译器会自动生成…

MySQL之视图外连接、内连接和子查询的使用

目录 一、视图 1.1 含义 1.2 操作 1.3 SQL数据 二、连接查询案例 &#xff08;1&#xff09;查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 &#xff08;2&#xff09;查询同时存在" 01 "课程和" 02 "课程的情况 &a…

视频剪辑技巧:添加srt字幕,提升视频品质的方法

在视频制作和剪辑过程中&#xff0c;字幕的添加是一项常见的技巧。通过添加srt字幕&#xff0c;可以提升视频的品质和观感&#xff0c;让观众更好地理解视频内容。下面一起来看云炫AI智剪如何批量添加srt字幕的方法&#xff0c;如何通过这些技巧提升视频品质。 原视频画面与添…

一键了解获取网页requests方式

目录 一、爬虫原理&#xff1a; 二、安装&#xff1a; 测试&#xff1a; 三、文件的操作 方式一 方式二: 方式三 四、认识User-Agent 4.1、为什么用User-Agent&#xff1a; 步骤&#xff1a; 五、请求方式 5.1、get 5.2、post 六、爬出有中国关键字页面案例 一、爬…

李沐-《动手学深度学习-02-目标检测

一 、目标检测算法 1. R-CNN a . 算法步骤 使用启发式搜索算法来选择锚框&#xff08;选出多个锚框大小可能不一&#xff0c;需要使用Rol pooling&#xff09;使用预训练好的模型&#xff08;去掉分类层&#xff09;对每个锚框进行特征抽取&#xff08;如VGG,AlexNet…)训练…

CRM的request管理笔记

1 request类型 request有两种&#xff0c;device request和link request。 link request link req是对link进行精确控制。 link req是对每个link的请求&#xff0c;比如某一帧是否需要bubble recovery、某一帧是否需要长曝光等feature。device request 对一个设备进行每帧控制…