之前用ObiRope做的两个小功能,分别是绳子剪裁以及绳子拖拽。但是项目没做完,公司黄了,记录一下相关的笔记。

ObiRope下载
链接:https://pan.baidu.com/s/1D6330eonD4SALxTOJ2a_bg
提取码:hg2o


ObiRope

这个是控制绳子的生成器,需要挂在ObiSolver下进行。需要挂在目标蓝图,使用了相同蓝图,EditPath所有的ObiRope都会一起发生修改。

使用EditPath可以修改绳子的初始形状,并且这个修改不是针对单个ObiRope而是针对ObiRope使用的蓝图。
通过增加控制点,可以让绳子分成X个段落,并且控制点可以合其他组件进行联动,控制绳子样式。控制点除了控制绳子的粒子位置,还能控制粒子方向其中name是用来在Attachment下的Group的一个表示,Phase则是物理相关,相同的Phase的对象不会触发物理,而不相同的对象则会触发物理。


ThickNess控制粒子大小,表示于物理以及渲染
Resolution粒子间隔,1为0间隔。数值越小,间隔越大
PooledParticles为备用粒子,用延长绳子,而初始的粒子数则受限于你拉的控制点长度和Resolution


Obi Particle Attachment

这是一个控制绳子上粒子组固定对象的一个组件,Target为这个粒子组会放在这个Transform上,并且响应相关的效果。Static表示这个点是固定的,绳子并不会被这个东西拉动,反而会被这个东西固定起来。

如果是Dynamic的话则这个点会受到物理效果,物体的重力绳子会对这个挂在的Target产生物理效果,但是Target需要有刚体,并且刚体不是静止的。

只要一动绑上一段的的Transform就可以对绳子进行移动了


ObiCursor

这个组件可以控制绳子的伸长缩短,虽然不加的时候,拉取绳子两段的Attachment绑定的也会拉长绳子,但是这时候绳子只是被【拉伸】不是被【延长】,并且里面的粒子排布会变宽,就会造成穿透等现象。
使用Cursor,可以【延长】绳子,调用它自己的 cursor.ChangeLength(length);的方法,可以调整绳子的长短,并且这个延长,增加绳子的粒子。会在SourceMu调整粒子和CursorMu来调整绳子吐出来的地方和绳子收回去的地方。

但是这个Cursor新增的粒子会受到蓝图的PooledParticles的粒子总数控制,超过这个总数的粒子,就不会继续延长,而是变成【拉伸】


    restLength = rope.restLength;           //稳定下来的时候的长度length = rope.CalculateLength();   //现在绳子的长度element = rope.elements.Count;        //element的个数partical = rope.particleCount;         //这个绳子现在有多少个粒子绳子

通过上面参数可以获取到当前绳子的相关状况,RestLength实则为你绳子长度,除了使用cursor.ChangeLength(length)进行长度修改之外,普通的拉伸控制点距离是不会让这个数值改变的。

CalculateLength(); 这是会计算并返回现在绳子的实际长度,这个数会把你拉伸之后的长度给复制进去

element,实则是粒子组,为是一个数据结构,有这两个粒子在总一个池子里面的索引,以及他们之间的距离所组成的一个数据结构


切割

ObiRope实际上的粒子是在Solver上进行计算的,而并不是由ObiRope进行一个处理,而一般粒子都是通过Solver粒子组的所以所表示

    [System.Serializable]public class ObiStructuralElement{public int particle1;public int particle2;public float restLength;public float constraintForce;public float tearResistance;}

是这样的一个数据结构。

可以通过这个段代码来遍历粒子的位置

       foreach(var item in rope.elements){int p1 = item.particle1;int p2 = item.particle2;Vector3 pos1 = rope.GetParticlePosition(p1);Vector3 pos2 = rope.GetParticlePosition(p2);}

可以通过上面的这个方法,找到你要断开的一个靠近的一个电,并且获取到他对应的elements
使用这个代码让绳子在指定位置断裂

rope.Tear(element)                           //切割指定的element并断开

ObiRope的一些笔记相关推荐

  1. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  2. 【运维学习笔记】生命不息,搞事开始。。。

    001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...

  3. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

  4. pandas以前笔记

    # -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...

  5. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  6. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  8. 王道考研 计算机网络笔记 第六章:应用层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  9. 王道考研 计算机网络笔记 第五章:传输层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

最新文章

  1. Struts2 验证规则配置文件
  2. 怎么在线安装php文件,PHP在线安装数据库
  3. python教学视频-Python入门视频课程
  4. 组件 插件 控件联系与区别
  5. BZOJ5089 最大连续子段和(分块)
  6. 能否向函数传递一个数组?
  7. 多特征值数据预处理_「人工智能」No.6 特征工程之数据预处理
  8. phpst安装memcache扩展_在 Ubuntu/Debian 下安装 PHP7.3 教程
  9. 构建用于测试的超大型内存InputStream
  10. 【LeetCode笔记】104. 二叉树的最大深度(Java、DFS、二叉树)
  11. oracle developer 连接 mysql
  12. 最新友盟6.1.1集成遇到的坑,自定义分享界面实现(跳转控制器做分享)
  13. WiFi音箱在国内普及需解决的三点
  14. 李志 逼哥 完整专辑网盘下载
  15. c语言程序书写时每行必须有行号,C语言阶段复习一.doc
  16. php 回车符替换,php怎么替换回车符
  17. Ubuntu安装nvm
  18. MySQL数据库引擎简介
  19. 深入理解 Linux 内核---访问文件
  20. Linux命令 - zip命令

热门文章

  1. ESP8266制作天气预报海藻球微景观生态缸记录(八)-EEPROM保存灯光颜色(完结)
  2. idea 修改SVN账户信息
  3. 计算机入门带进阶的目标及誓言
  4. 【用户增长】用户增长方法论及增长思维
  5. java超类_java超类
  6. python打印等腰三角形
  7. 互联网,软件行业找工作问题总结
  8. 简易小游戏——三子棋
  9. 爆赞推荐:看美国程序员是如何在 30 岁实现财务自由的
  10. js插件---在线类似excel生成图表插件解决方案