一种3d绳索的仿真方法
【技术领域】
[0001]本发明涉及一种软件应用技术领域,具体的说,本发明设计一种应用于手机游戏的3D绳索的仿真方法。
【背景技术】
[0002]3D绳子仿真简介
[0003]主要应用在力学和3D游戏当中。其中3D绳子的仿真最初用由游戏开发人员独立使用代码实现,后来一些开发人员将编写较为完善的代码打包出售,以资源插件的形式发布到互联网上。
[0004]Unity3D游戏开发引擎简介
[0005]Unity3D是目前最为流行的游戏开发工具,它是由Unity Technoogies公司开发的专业游戏引擎。它的特点是开发效率高、跨平台和支持多种美术资源文件格式。目前该产品在iPhone游戏市场的占有率高达50%以上。
[0006]目前市场上3D仿真绳子的主要产品有Reverie Interactive公司的Quick Ropes和 Ultimate Game Tools 公司的 Ultimate rope 等。
[0007]现有的绳子3D仿真技术存在着很多缺点:
[0008]用来模拟3D绳子的三角形面数多,对CPU的压力比较大。这个问题对于手机游戏更加明显。手机3D游戏仅能支持约10,000三角形的几何造型,而一条绳子往往需要1,000面以上的三角形,严重影戏游戏的流畅运行质量。
[0009]绳子弹性形变的总体造型怪异。大多数的仿真绳子的数据结构都是由若干彼此独立的绳子段通过关节连结起来。由于大量的关节彼此没有制约,绳子的总体造型缺乏规划,视觉上显得很怪异。
【发明内容】
[0010]本发明的目的在于提供一种3D绳索的仿真方法,解决当前手机游戏当中用来模拟3D绳索的三角形面数多、绳索的总体造型缺乏规划、视觉上显得很怪异的问题。
[0011]本发明提供的技术方案是:一种3D绳索仿真的方法,包括以下步骤:
[0012]a)3D绳索的初始化,包括以下步骤
[0013]步骤I),在起始节点之前和结束节点之后单位长度为I的地方分别加上了一个的顶点,然后采用样条曲线Catmul1-Rom Splines公式,在绳索初始化前的起始节点和结束节点的两个顶点之间平滑的插入N个单位长度的节点;
[0014]步骤2),绳索的整体造型控制,将整条绳索分为若干子绳索,然后采取分段调整;绳索分段采用曲率的拐点识别,一旦绳索的曲率发生明显变化,则取其中一个拐点作为分段点;整体上,子绳索呈现Catmull-Rom Splines曲线特征;
[0015]步骤3),每段绳索采取B6zier curve曲线进行造型调整;
[0016]步骤4),绳索3D造型的三角形数量化简;对整条绳子进行曲率变化评估,曲率变化小的若干段进行绳索合并,从而实现三角形数量化简;
[0017]b)绳索属性配置,对绳索的属性进行配置调整,包括加载挂件或卸载挂件;
[0018]c)绳索属性配置完毕后,即生成所有节点,进行初始化网络,初始化网络包括初始化绳索节点渲染器进行加载资源文件,然后更新网格;
[0019]d)然后,开始更新3D绳索的物理属性变量,具体包括为绳索的每个节点增加刚体属性,以及为每个节点添加可配置的关节,为每个节点添加胶囊碰撞器。
[0020]本发明的有益效果是:
[0021]本发明运用Catmull-Rom Splines曲线和B6zier curve曲线来控制绳索的整体造型,并且通过控制节点的长度和数量来实现绳索的伸缩变化,从而化简三角形数量。
【附图说明】
[0022]当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,其中:
[0023]图1是本发明的逻辑流程示意图;
[0024]图2为本发明的绳索拐点识别不意图;
[0025]图3为本发明的绳索造型调整示意图。
【具体实施方式】
[0026]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0027]参考图1,如图1所示,本发明的一种3D绳索仿真的方法,包括以下步骤:
[0028]a) 3D绳索的初始化,包括以下步骤,参考图2 ;
[0029]步骤I),在起始节点之前和结束节点之后单位长度为I的地方分别加上了一个的顶点,然后采用样条曲线Catmul1-Rom Splines公式,在绳索初始化前的起始节点和结束节点的两个顶点之间平滑的插入N个单位长度的节点;
[0030]步骤2),绳索的整体造型控制,将整条绳索分为若干子绳索,然后采取分段调整;绳索分段采用曲率的拐点识别,一旦绳索的曲率发生明显变化,则取其中一个拐点作为分段点;整体上,子绳索呈现Catmull-Rom Splines曲线特征;
[0031]步骤3),每段绳索采取B6zier curve曲线进行造型调整;
[0032]步骤4),绳索3D造型的三角形数量化简;对整条绳子进行曲率变化评估,曲率变化小的若干段进行绳索合并,从而实现三角形数量化简;(如图3中示出)
[0033]b)绳索属性配置,对绳索的属性进行配置调整,包括加载挂件或卸载挂件;
[0034]c)绳索属性配置完毕后,即生成所有节点,进行初始化网络,初始化网络包括初始化绳索节点渲染器进行加载资源文件,然后更新网格;
[0035]d)然后,开始更新3D绳索的物理属性变量,具体包括为绳索的每个节点增加刚体属性,以及为每个节点添加可配置的关节,为每个节点添加胶囊碰撞器。
[0036]以上实例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种3D绳索仿真的方法,其特征在于,包括以下步骤: a)3D绳索的初始化,包括以下步骤: 步骤I),在起始节点之前和结束节点之后单位长度为I的地方分别加上了一个的顶点,然后采用样条曲线Catmul1-Rom Splines公式,在绳索初始化前的起始节点和结束节点的两个顶点之间平滑的插入N个单位长度的节点; 步骤2),绳索的整体造型控制,将整条绳索分为若干子绳索,然后采取分段调整;绳索分段采用曲率的拐点识别,一旦绳索的曲率发生明显变化,则取其中一个拐点作为分段点;整体上,子绳索呈现Catmull-Rom Splines曲线特征; 步骤3),每段绳索采取B6zier curve曲线进行造型调整; 步骤4),绳索3D造型的三角形数量化简;对整条绳子进行曲率变化评估,曲率变化小的若干段进行绳索合并,从而实现三角形数量化简; b)绳索属性配置,对绳索的属性进行配置调整,包括加载挂件或卸载挂件; c)绳索属性配置完毕后,即生成所有节点,进行初始化网络,初始化网络包括初始化绳索节点渲染器进行加载资源文件,然后更新网格; d)然后,开始更新3D绳索的物理属性变量,具体包括为绳索的每个节点增加刚体属性,以及为每个节点添加可配置的关节,为每个节点添加胶囊碰撞器。
【专利摘要】本发明公开了一种3D绳索仿真的方法,包括以下步骤:a)3D绳索的初始化,b)绳索属性配置,对绳索的属性进行配置调整,包括加载挂件或卸载挂件;c)绳索属性配置完毕后,即生成所有节点,进行初始化网络,初始化网络包括初始化绳索节点渲染器进行加载资源文件,然后更新网格;d)然后,开始更新3D绳索的物理属性变量,具体包括为绳索的每个节点增加刚体属性,以及为每个节点添加可配置的关节,为每个节点添加胶囊碰撞器。本发明运用Catmull-Rom?Splines曲线和Bézier?curve曲线来控制绳索的整体造型,并且通过控制节点的长度和数量来实现绳索的伸缩变化,从而化简三角形数量。
【IPC分类】G06F9-44, G06T17-00
【公开号】CN104572088
【申请号】CN201410827355
【发明人】陈乐 , 陈晶晶, 王文杰, 王晨阳, 刘经纬
【申请人】福建工程学院
【公开日】2015年4月29日
【申请日】2014年12月26日