CN109740185B - Unity中多个物体叠加的受力分析方法、存储介质 - Google Patents
Unity中多个物体叠加的受力分析方法、存储介质 Download PDFInfo
- Publication number
- CN109740185B CN109740185B CN201811501104.5A CN201811501104A CN109740185B CN 109740185 B CN109740185 B CN 109740185B CN 201811501104 A CN201811501104 A CN 201811501104A CN 109740185 B CN109740185 B CN 109740185B
- Authority
- CN
- China
- Prior art keywords
- force
- queue
- objects
- acquired
- acting force
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供Unity中多个物体叠加的受力分析方法、存储介质,方法包括S1:遍历系统中的全部对象,获取至少一个对象之间存在连接关系的对象队列;S2:获取一对象队列;S3:分别获取所述一对象队列整体受到的作用力以及所述一对象队列中的各个对象受到的连接力;S4:依据所述S3获取的作用力和所述连接力,分别计算所述一对象队列中的各个对象同与其连接的对象之间的摩擦力和作用力。本发明能获取各个对象准确的受力分析结果,以及整体的受力分析结果,为系统中设置物体的精准地移动速度、加速度和移动轨迹等运动参数提供准确的数据支持。
Description
技术领域
本发明涉及3D模拟系统领域,具体涉及Unity中多个物体叠加的受力分析方法、存储介质。
背景技术
在Unity引擎系统中,多个物体叠加时,各自的摩擦力计算是受力分析中较为复杂的部分。当作用在物体的实际外力大于最大静摩擦力时,则物体开始运动并受反方向的滑动摩擦力。在过去,只有两个物体接触时可以采用上述理论进行受力分析。当多个物体叠加时,一般采用的是:每两个物体为一组进行受力分析,这样的分析方式,在需要精确的表现物体受力分析情况时,就难以满足要求。
因此,有必要提供一个技术方案,可以应用在3D模拟系统中实现物理系统中的受力分析,并根据受力分析结果设置物体的移动速度、加速度、移动轨迹等。比如在游戏系统中模拟物品受到冲击力或者拉力后的运动轨迹;比如虚拟物理实验中小木块受力后的运动曲线,达到进行实验教学目的。
发明内容
本发明所要解决的技术问题是:提供一种Unity中多个物体叠加的受力分析方法、存储介质,能够获取精准的受力分析结果,据此获取物体准确率更高的运动参数。
为了解决上述技术问题,本发明采用的技术方案为:
Unity中多个物体叠加的受力分析方法,包括:
S1:遍历系统中的全部对象,获取至少一个对象之间存在连接关系的对象队列;
S2:获取一对象队列;
S3:分别获取所述一对象队列整体受到的作用力以及所述一对象队列中的各个对象受到的连接力;
S4:依据所述S3获取的作用力和所述连接力,分别计算所述一对象队列中的各个对象同与其连接的对象之间的摩擦力和作用力。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器读取处理时,能够实现上述Unity中多个物体叠加的受力分析方法所包含的步骤。
本发明的有益效果在于:提供Unity中多个物体叠加的受力分析方法、存储介质,将Unity中叠加的多个物体视为对象队列,对其中的每个对象都进行受力分析,从而能够获取各个对象以及物体整体的精准受力分析结果。基于本发明提供的受力分析结果,能够在系统中设置物体的精准地移动速度、加速度和移动轨迹等运动参数,从而获取模拟物体的运动轨迹。可以很好的运用在游戏系统中模拟物品收到冲击力或拉力后的运动轨迹、各种虚拟的物理实验,如小木块受力后的运动曲线,从而获取良好的实验教学效果。
附图说明
图1为本发明Unity中多个物体叠加的受力分析方法的流程示意图;
图2为本发明实施例一的多个物体叠加方式示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:将Unity中叠加的多个物体视为对象队列,对其中的每个对象都进行受力分析,从而能够获取各个对象以及物体整体的精准受力分析结果。
本发明涉及的技术术语解释:
请参照图1,本发明提供Unity中多个物体叠加的受力分析方法,包括:
S1:遍历系统中的全部对象,获取至少一个对象之间存在连接关系的对象队列;
S2:获取一对象队列;
S3:分别获取所述一对象队列整体受到的作用力以及所述一对象队列中的各个对象受到的连接力;
S4:依据所述S3获取的作用力和所述连接力,分别计算所述一对象队列中的各个对象同与其连接的对象之间的摩擦力和作用力。
从上述描述可知,本发明的有益效果在于:本发明可以应用在以3D模拟系统中实现物理系统中的受力分析,并根据受力分析结果设置物体的移动速度、加速度、移动轨迹等。比如在游戏系统中模拟物品受到冲击力或者拉力后的运动轨迹、虚拟物理实验中小木块受力后的运动曲线,达到进行实验教学目的。
进一步的,所述S4具体为:
S31:获取所述一对象队列中的一对象;
S32:以所获取的对象及位于其上的所有对象为整体,计算所述整体的重力;
S33:获取所述对象同与其连接且位于其下方的对象之间的静摩擦力系数;
S34:依据所述重力和所述静摩擦力系数,计算得到所获取的对象同与其连接且位于其下方的对象之间的最大静摩擦力;
S35:依据所述最大静摩擦力和所述一对象队列整体受到的作用力判断所获取的对象是否运动,若否,则执行S36;若是,则执行S37;
S36:获取所述下方的对象,返回继续执行所述S32,直至所述一对象队列中的所有对象都判断完毕;
S37:分别执行往上判断步骤S38和往下判断步骤S39;
S38:计算所获取的对象同与其连接且位于其上方的对象之间的最大静摩擦力;判断当前计算得到的最大静摩擦力与所述S34计算得到的最大静摩擦力之和是否小于所述S3获取的作用力;若是,则判定所获取的对象与所述上方的对象不会一起运动,依据所述S3获取的作用力、当前计算得到的最大静摩擦力和所述S34计算得到的最大静摩擦力计算得到所获取的对象的作用力,同时获取与当前对象连接且位于其上方的对象,返回继续执行S38;若否,则判定所获取的对象与所述上方的对象作为第一小整体一起运动,同时获取与所述上方的对象连接且位于其上方的对象,判断所获取的对象是否与所述第一小整体一起运动,若是,则将当前所获取的对象加入所述第一小整体;若否,则判定所获取的对象与所述上方的对象无法一起运动,结束判断,并赋值当前的第一小整体的作用力为所述S3获取的作用力减去所获取的对象同与其连接且位于其下方的对象之间的摩擦力;赋值当前获取的对象的作用力为其同与其连接且位于其下方的对象之间的摩擦力;
S39:获取与当前对象连接且位于其下方的对象;赋值所获取的对象的作用力为其与上一对象之间的最大静摩擦力;判断所获取的对象同与其连接且位于其下方的对象之间的最大静摩擦力是否小于其作用力,若否,则判定所获取的对象与位于其下方的所有对象作为第二小整体一起运动,同时返回继续执行S39;若是,则判定所获取的对象单独运动,赋值所获取的对象的合力为其作用力减去其与下方对象的摩擦力,同时返回继续执行S39。
由上述描述可知,本发明针对多个叠加的物体之间摩擦力的计算采用上述方案计算获取,能获取各个对象准确的摩擦力和作用力,为后续对象整体受力分析提供数据支持。
进一步的,在所述S2之前,还包括:
S21:对所获取的至少一个对象队列依据预设排序规则进行排序,所述排序规则为:包含至少一个静态的对象的对象队列优先于对象间的连接关系少的对象队列,对象间的连接关系少的对象队列优先于对象间的连接关系多的对象队列。
由上述描述可知,通过对对象队列进行排序,能有序性的处理各种受力情况不同的对象队列,从而提高分析处理效率。
进一步的,还包括:
S5:依据各个对象对应的重力、作用力、摩擦力和连接力,分别计算得到各个对象的合力。
由上述描述可知,基于本发明计算获取的各个对象的摩擦力和作用力,能计算获取各个对象准确度更高的最终合力。
进一步的,所述S3中获取所述一对象队列中的各个对象受到的连接力,具体为:
依据各个对象对应的对象类中的成员结构体,获取各个对象对应的连接力大小和方向。
由上述描述可知,基于每个对象固有的对象类中的成员结构体,能快速获取各个对象的连接力大小和方向参数。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器读取处理时,能够实现上述Unity中多个物体叠加的受力分析方法所包含的步骤。
从上述描述可知,本发明的有益效果在于:对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。
其中,所述的存储介质可以是磁盘、光碟、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
实施例一
请参照图1和图2,本实施例提供一种Unity中多个物体叠加的受力分析方法,能够运用在3D模拟系统中实现物理系统中的受力分析,获取准确度更高的受力分析结果,有助于提高Unity引擎中针对模拟物体受力后的运动轨迹的精度。
具体的,请参阅图1,可以通过以下步骤实现:
S1:遍历系统中的全部对象,获取至少一个对象之间存在连接关系的对象队列。
其中,判断两个对象之间是否存在连接关系的依据为:每一个对象都会有一个对象类,这个对象类里面有一个成员结构体,结构体里面保存该对象的连接物对象列表、连接物对象的属性(质量、是否静态、摩擦力系数等)、连接力大小和方向、连接类型(Contact接触关系、Line绳子连接、HingeJoint铰链关节连接)。
因此,判断两个对象之间是否存在连接关系的过程包括:通过获取对象对应的对象类中的成员结构体记载的连接对象列表,就可以判断当前对象与其他对象的连接关系。
例如,如图2所示,至少叠加有A、B、C、D、E对象,则获取叠加的对象构成的对象队列(…BACDE…)。
优选的,还包括对每个对象队列进行排序的过程:
S21:对所获取的至少一个对象队列依据预设排序规则进行排序,所述排序规则为:自己是静态的对象队列或者队列中的对象是静态的对象队列>连接关系少的对象队列>连接关系多的对象队列。
然后,在后续针对每个对象队列进行受力分析时,能依据上述排序逐一进行分析,从简单到复杂,从而提高受力分析结果的获取效率。
下面,将针对其中一个对象队列的受力分析获取过程进行说明,其他对象队列雷同,不进行复述。所举例的对象队列中各个对象的叠加情况如图2所示。
S2:获取一对象队列;即对象队列(…BACDE…)。
S3:分别获取所述一对象队列整体受到的作用力以及所述一对象队列中的各个对象受到的连接力;假设整体受到的作用力为F0。
S4:依据所述S3获取的作用力和所述连接力,分别计算所述一对象队列中的各个对象同与其连接的对象之间的摩擦力和作用力。
具体而言,该步骤包括:
S31:获取所述一对象队列中的一对象;假设为对象A;
S32:以所获取的对象A及位于其上的所有对象(CDE…)为整体,计算所述整体的重力,即各个对象的重力相加;
S33:获取所述对象A同与其连接且位于其下方的对象,即对象B之间的静摩擦力系数;具体可以通过对象A的对象类中的成员结构体记载的连接物对象属性中获取与对象A当前连接的对象B的摩擦力系数。
S34:依据所述重力和所述静摩擦力系数,即二者相乘,计算得到所获取的对象A同与其连接且位于其下方的对象B之间的最大静摩擦力F1;
S35:依据所述最大静摩擦力F1和所述一对象队列整体受到的作用力F0判断所获取的对象A是否运动,若否,即F1>F0则执行S36;若是,即F1≤F0则执行S37。
对象A不运动(F1>F0)的执行步骤为继续往下判断:
S36:依次获取对象A下方的对象B等对象,依据上述S31-S35的判断原理,判断对象B及其他的各个对象是否运动,直至对象队列中的所有对象都判断完毕。
对象A运动(F1≤F0)的执行步骤为以对象A为分割线,同时往上判断和往下判断:
S37:分别执行往上判断步骤S38和往下判断步骤S39;
往上判断步骤S38:
计算所获取的对象A同与其连接且位于其上方的对象C之间的最大静摩擦力F2;
判断F2+F1是否小于F0;
若是,即F2+F1<F0,则判定所获取的对象A与所述上方的对象C不会一起运动,对象A的作用力为F0-F1-F2;对象C受到对象A与对象C之间的滑动摩擦力,此力作为对象C的作用力;然后获取与当前对象连接且位于其上方的对象C,将对象以对象A的处理方式继续往上遍历,即返回继续执行S38,并将其中的对象A替换为对象C,对象C替换为对象D;
若否,即F2+F1≥F0,则判定所获取的对象A与所述上方的对象C作为第一小整体一起运动,整体受力为F0;同时获取与所述上方对象C连接且位于其上方的对象D,判断所获取的对象D是否与所述第一小整体一起运动,若是,则将当前所获取的对象D加入所述第一小整体,整体受力为F0;若否,则判定所获取的对象D与所述上方的对象C无法一起运动,即对象D与对象CAB无法一起运动时,结束判断,此时的第一小整体的作用力为CAB受到的力-DC的滑动摩擦力;此时的D受到了DC之间的滑动摩擦力,将这个滑动摩擦力作为D的作用力,并继续获取对象D的上一个对象E后返回S38,将其中的对象A替换为对象E,对象C替换为对象D以A的处理方式继续往上遍历。
往下判断步骤S39:
获取与当前对象A连接且位于其下方的对象B;赋值所获取的对象B的作用力为A与B之间的最大静摩擦力;判断所获取的对象B同与其连接且位于其下方的对象(假设为G)之间的最大静摩擦力是否小于对象B的作用力;
若否,即大于或等于这个作用力,则判定所获取的对象B与位于其下方的所有对象作为第二小整体一起运动,同时返回继续执行S39,继续往下判断对象G;
若是,则判定所获取的对象B单独运动,赋值所获取的对象B的合力为B作用力-B与下方对象G的滑动摩擦力,同时返回继续执行S39,继续往下判断对象G下方的对象;
对象B之下的对象G受到和B之间的滑动摩擦力,将这个滑动摩擦力作为对象G的作用力,以对象B的方式继续往下判断。
S5:依据各个对象对应的重力、作用力、摩擦力和连接力,分别计算得到各个对象的合力。
由此,能依据步骤S4获取对象队列中包含的所有对象对应的重力、作用力、摩擦力、连接力,并据此计算获取各个对象以及对象队列整体的最终合力。
实施例二
本实施例对应实施例一,在其基础上做进一步的扩展,丰富实施例一的技术方案,使其依据接触物体的个数不同进行分别处理。具体为:
一、对于2个接触的物体,即两个接触的对象
1、遍历系统中全部对象,划分连接在一起的对象队列;
具体通过获取对象中连接对象列表,就可以划分连接在一起的对象列表。
2、对每个对象队列做受力分析,一个对象一个对象的计算受力;
具体的,每一个对象都会有一个对象类,这个对象类里面有一个成员结构体,结构体里面保存该对象的连接物对象列表、连接物对象的属性(质量、是否静态、摩擦力系数等)、连接力大小和方向、连接类型(Contact接触关系、Line绳子连接、HingeJoint铰链关节连接。
3、对象队列进行排序,排序规则为自己是静态的或者子对象是静态的>连接关系少的>连接关系多的。
具体的,每个对象类中都有保存该对象类是否为静态(静态就是指向地面等永远不会动的物体)、连接物物对象列表。通过这些属相,可以通过获取是否静态、连接数量等进行排序。
4、每个对象先计算当前的重力,再计算是否有作用力,再获取连接对象的连接力,最后计算摩擦力。
其中,连接力的获取,需要根据连接关系的特性和连接方向来获取。
具体的,连接关系的特性设计为:
(1)Contact:接触关系,当发生碰撞时,会添加这个关系;
判断是否发生碰撞的方式为:在每个物体上面绑定一个碰撞体Collider,并且注册:开始碰撞:OnCollisionEnter、正在发生碰撞:OnCollisionStay、离开碰撞:OnCollisionExit的事件回调。回调中会有本物体对象、接触物体对象、接触物对本物体的支撑力、碰撞的方向。如果有碰撞回调,将碰撞信息保存到各自的对象的对象类里面,包括向该对象的连接物对象列表中增加碰撞对象、连接物对象的属性(质量、是否静态等)、连接力大小和方向(通过碰撞的方向和碰撞后的支撑力获取)、连接类型(Contact接触关系、Line绳子连接、HingeJoint铰链关节连接:可以通过获取碰撞物体的属性来获取)。
当碰撞触发时,需要保存原来的关系,当碰撞离开后,需要恢复原来的连接关系。这里的接触关系,有可能是垂直碰撞,也可能是水平碰撞。在碰撞事件回调中有碰撞方向的信息,如果碰撞方向是水平方向,就不做摩擦力处理,如果是垂直方向的会保存碰撞关系。
触发碰撞时,如果已经有接触关系,那就不处理了
处理碰撞时,如果碰撞的对象没有连接关系并且计算出来的速度为0,则添加接触关系。速度为0指的相对速度为0,也就是不做摩擦力处理,但是两个的关系是要保存为接触关系。在进行摩擦力计算时会根据速度、接触方向进行筛选。
当接触关系中一个对象被删除掉了,比如说2个木块一个木板,依次叠放,当把木板去掉时,需要重新计算2个木块是否还有接触关系,具体是通过两个木块注册的OnCollisionStay事件回调中是否有另外一个木块来判断是否接触关系。通过判断出事接触关系才进行计算摩擦力。Line和HingeJoint是间接关联,但是没有直接接触,所以不用去计算摩擦力。
连接力的获取,直接把受到的合力按连接方向反向。具体的,撞回调中有碰撞物对本物体的力,这个力的反向,就是本物体对对方物体的的作用力。
(2)Line:用绳子连接的,预先设置好的连接关系
系统中每个物体都设置有自身属性,如果是绳子,属性就设置为绳子。而绳子连接关系是预先通过自定义的界面设置的,并且在系统中会有一个全局的类,类的成员变量定义一个全局对象,保存所有的连接关系。
绳子是有长度的,当连接对象的距离大于等于绳子的长度,才受到拉力,否则没有拉力;
连接的对象都只有绳子连接关系时,那么就只受重力。
(3)HingeJoint:铰链关节连接,预先设置好的连接关系
判断两个对象是铰链关系的方式为:类似上面绳子的连接,系统中每个物体都设置有自身属性,如果是铰链连接,属性就设置为铰链。铰链连接关系是预先通过自定义的界面设置的,并且在系统中会有一个全局的类,类的成员变量定义一个全局对象,保存所有的连接关系。
连接的对象,当成整体来看待,对象受到的其他的力,都直接合并到整体的合力里面;
铰链关节连接中的对象运动是一致的,相同的速度和加速度,加速度用整体的质量来计算。
当添加铰链连接时,直接创建出铰链关节对象,把连接的对象置为他的子对象,受力分析直接用铰链关节对象,这个对象需要添加运动,受力分析组件,铰链对象如果有和其他对象有连接关系,那么也要保存在铰链对象上。
二、有多个接触的物体都要计算摩擦力情况
2.1收集接触并要计算摩擦力的物体的对象队列;
2.2收集要计算摩擦力对象和其他不要计算摩擦力对象的连接力;
判断对象是否要计算摩擦力的对象的方式:
对象类里面包含是否静态的信息。如果是静态的比如地面,是不会计算它的摩擦力的。
对象里面还包含了摩擦力系数信息,如果摩擦力系数是0,自然也不计算摩擦力。
2.3使用实施例一所述的摩擦力计算算法,计算出接触物体的摩擦力和最终合力;
2.4计算其他不计算摩擦力对象的最终合力。
实施例三
本实施例对应实施例一和实施例二,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器读取处理时,能够实现上述实施例一或实施例二所述的Unity中多个物体叠加的受力分析方法所包含的步骤。
具体的步骤内容在此不进行复述,详细请参阅实施例一和实施例二的记载。
综上所述,本发明提供的Unity中多个物体叠加的受力分析方法、存储介质,能获取各个对象准确的受力分析结果,以及整体的受力分析结果,为系统中设置物体的精准地移动速度、加速度和移动轨迹等运动参数提供准确的数据支持,从而获取模拟物体更好精度的运动轨迹,在游戏系统中模拟物品的运动轨迹和虚拟的物理实验等场景具有广泛的运用前景。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.Unity中多个物体叠加的受力分析方法,其特征在于,包括:
S1:遍历系统中的全部对象,获取至少一个对象之间存在连接关系的对象队列;
S2:获取一对象队列;
S3:分别获取所述一对象队列整体受到的作用力以及所述一对象队列中的各个对象受到的连接力;
S4:依据所述S3获取的作用力和所述连接力,分别计算所述一对象队列中的各个对象同与其连接的对象之间的摩擦力和作用力;
所述S4具体为:
S31:获取所述一对象队列中的一对象;
S32:以所获取的对象及位于其上的所有对象为整体,计算所述整体的重力;
S33:获取所述对象同与其连接且位于其下方的对象之间的静摩擦力系数;
S34:依据所述重力和所述静摩擦力系数,计算得到所获取的对象同与其连接且位于其下方的对象之间的最大静摩擦力;
S35:依据所述最大静摩擦力和所述一对象队列整体受到的作用力判断所获取的对象是否运动,若否,则执行S36;若是,则执行S37;
S36:获取所述下方的对象,返回继续执行所述S32,直至所述一对象队列中的所有对象都判断完毕;
S37:分别执行往上判断步骤S38和往下判断步骤S39;
S38:计算所获取的对象同与其连接且位于其上方的对象之间的最大静摩擦力;判断当前计算得到的最大静摩擦力与所述S34计算得到的最大静摩擦力之和是否小于所述S3获取的作用力;若是,则判定所获取的对象与所述上方的对象不会一起运动,依据所述S3获取的作用力、当前计算得到的最大静摩擦力和所述S34计算得到的最大静摩擦力计算得到所获取的对象的作用力,同时获取与当前对象连接且位于其上方的对象,返回继续执行S38;若否,则判定所获取的对象与所述上方的对象作为第一小整体一起运动,同时获取与所述上方的对象连接且位于其上方的对象,判断所获取的对象是否与所述第一小整体一起运动,若是,则将当前所获取的对象加入所述第一小整体;若否,则判定所获取的对象与所述上方的对象无法一起运动,结束判断,并赋值当前的第一小整体的作用力为所述S3获取的作用力减去所获取的对象同与其连接且位于其下方的对象之间的摩擦力;赋值当前获取的对象的作用力为其同与其连接且位于其下方的对象之间的摩擦力;
S39:获取与当前对象连接且位于其下方的对象;赋值所获取的对象的作用力为其与上一对象之间的最大静摩擦力;判断所获取的对象同与其连接且位于其下方的对象之间的最大静摩擦力是否小于其作用力,若否,则判定所获取的对象与位于其下方的所有对象作为第二小整体一起运动,同时返回继续执行S39;若是,则判定所获取的对象单独运动,赋值所获取的对象的合力为其作用力减去其与下方对象的摩擦力,同时返回继续执行S39。
2.如权利要求1所述的Unity中多个物体叠加的受力分析方法,其特征在于,在所述S2之前,还包括:
S21:对所获取的至少一个对象队列依据预设排序规则进行排序,所述排序规则为:包含至少一个静态的对象的对象队列优先于对象间的连接关系少的对象队列,对象间的连接关系少的对象队列优先于对象间的连接关系多的对象队列。
3.如权利要求1所述的Unity中多个物体叠加的受力分析方法,其特征在于,还包括:
S5:依据各个对象对应的重力、作用力、摩擦力和连接力,分别计算得到各个对象的合力。
4.如权利要求1所述的Unity中多个物体叠加的受力分析方法,其特征在于,所述S3中获取所述一对象队列中的各个对象受到的连接力,具体为:
依据各个对象对应的对象类中的成员结构体,获取各个对象对应的连接力大小和方向。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序在被处理器读取处理时,能够实现上述权利要求1-4任意一项所述的Unity中多个物体叠加的受力分析方法所包含的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811501104.5A CN109740185B (zh) | 2018-12-10 | 2018-12-10 | Unity中多个物体叠加的受力分析方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811501104.5A CN109740185B (zh) | 2018-12-10 | 2018-12-10 | Unity中多个物体叠加的受力分析方法、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109740185A CN109740185A (zh) | 2019-05-10 |
CN109740185B true CN109740185B (zh) | 2022-06-07 |
Family
ID=66358636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811501104.5A Active CN109740185B (zh) | 2018-12-10 | 2018-12-10 | Unity中多个物体叠加的受力分析方法、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109740185B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102132253A (zh) * | 2008-06-24 | 2011-07-20 | 微软公司 | 用于表面计算的基于物理学仿真的交互 |
CN102360511A (zh) * | 2011-10-26 | 2012-02-22 | 德讯科技股份有限公司 | 一种物理引擎在3d空间对象展现中的应用方法 |
CN104699246A (zh) * | 2015-03-10 | 2015-06-10 | 深圳威阿科技有限公司 | 一种拉力模拟方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180231393A1 (en) * | 2015-06-23 | 2018-08-16 | Ipcomm Llc | Method for Calibrating Local Coordinates and Force Reference of Motion and Ground Reaction Force Analysis System |
-
2018
- 2018-12-10 CN CN201811501104.5A patent/CN109740185B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102132253A (zh) * | 2008-06-24 | 2011-07-20 | 微软公司 | 用于表面计算的基于物理学仿真的交互 |
CN102360511A (zh) * | 2011-10-26 | 2012-02-22 | 德讯科技股份有限公司 | 一种物理引擎在3d空间对象展现中的应用方法 |
CN104699246A (zh) * | 2015-03-10 | 2015-06-10 | 深圳威阿科技有限公司 | 一种拉力模拟方法及系统 |
Non-Patent Citations (2)
Title |
---|
An approach for predicting the internal behaviour of ball bearings under high moment load;Christophe Bovet 等;《Mechanism and Machine Theory》;20160319;全文 * |
六自由度双臂机器人动力学分析与运动控制;吴俊;《软件》;20170331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109740185A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102078473B1 (ko) | 동체 추적 장치, 동체 추적 방법, 동체 추적 프로그램 | |
US8014982B2 (en) | Simulation system for a construction crane and the simulation method thereof | |
Curtis et al. | Virtual tawaf: A case study in simulating the behavior of dense, heterogeneous crowds | |
Spillmann et al. | An adaptive contact model for the robust simulation of knots | |
CN108665508A (zh) | 一种即时定位与地图构建方法、装置及存储介质 | |
CN103489200B (zh) | 图像处理装置及图像处理方法 | |
US8979652B1 (en) | Natural movement in a virtual environment | |
CN108364316A (zh) | 交互行为检测方法、装置、系统及设备 | |
WO2012069022A1 (en) | Method for animating characters, with collision avoidance based on tracing information | |
Özsoy et al. | Estimating the parameters of nonlinear regression models through particle swarm optimization | |
CN113156926A (zh) | 机器人的有限状态机的建立方法、有限状态机和机器人 | |
CN111191542B (zh) | 虚拟场景中的异常动作识别方法、装置、介质及电子设备 | |
WO2008146972A1 (en) | System and method for real-time cloth simulation | |
CN109740185B (zh) | Unity中多个物体叠加的受力分析方法、存储介质 | |
Sarkar et al. | Using a disjoint skill model for game and task difficulty in human computation games | |
CN114527769B (zh) | 轨迹规划方法、装置、运动设备及计算机可读存储介质 | |
CN111611917A (zh) | 模型训练方法、特征点检测方法、装置、设备及存储介质 | |
CN110070104A (zh) | 一种超参数确定方法、装置及服务器 | |
CN116257072A (zh) | 机器人弹跳轨迹规划方法、装置、可读存储介质及机器人 | |
CN112800546B (zh) | 一种火箭垂直回收状态可控性分析方法和装置 | |
Tay et al. | Fall prediction for new sequences of motions | |
CN115564800A (zh) | 行动轨迹预测方法和装置 | |
CN112231220B (zh) | 一种游戏测试方法和装置 | |
CN109153118A (zh) | 抓取质量检测方法及其应用的方法与系统 | |
CN112242959B (zh) | 微服务限流控制方法、装置、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |