CN108159694B - 柔体飘动模拟方法、柔体飘动模拟装置及终端设备 - Google Patents
柔体飘动模拟方法、柔体飘动模拟装置及终端设备 Download PDFInfo
- Publication number
- CN108159694B CN108159694B CN201711271088.0A CN201711271088A CN108159694B CN 108159694 B CN108159694 B CN 108159694B CN 201711271088 A CN201711271088 A CN 201711271088A CN 108159694 B CN108159694 B CN 108159694B
- Authority
- CN
- China
- Prior art keywords
- node
- flexible body
- direction vector
- position information
- child node
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供的柔体飘动模拟方法、柔体飘动模拟装置及终端设备,涉及场景模拟技术领域。其中,柔体飘动模拟方法包括:分别获取骨骼链中各父节点指向对应的子节点的第一方向向量,其中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点;针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。通过上述方法,可以改善现有柔体飘动模拟技术中存在的计算量大的问题。
Description
技术领域
本发明涉及场景模拟技术领域,具体而言,涉及一种柔体飘动模拟方法、柔体飘动模拟装置及终端设备。
背景技术
在如今的三维游戏中,布料等柔体是比较常见的场景。因此,柔体的模拟效果直接关系着三维游戏的逼真程度,影响着用户的体验度。经发明人研究发现,现有柔体飘动模拟技术中存在的计算量大的问题。
发明内容
有鉴于此,本发明的目的在于提供一种柔体飘动模拟方法、柔体飘动模拟装置及终端设备,以改善现有柔体飘动模拟技术中存在的计算量大的问题。
为实现上述目的,本发明实施例采用如下技术方案:
一种柔体飘动模拟方法,包括:
分别获取骨骼链中各父节点指向对应的子节点的第一方向向量,其中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点;
针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。
在本发明实施例较佳的选择中,在上述柔体飘动模拟方法中,针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟的步骤包括:
针对每一个子节点,在对应的父节点发生位移时,获取该子节点的当前位置信息和对应父节点发生位移后的位置信息;
根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。
在本发明实施例较佳的选择中,在上述柔体飘动模拟方法中,根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点的步骤包括:
根据该子节点的当前位置信息和对应父节点发生位移后的位置信息计算得到第二方向向量,其中,所述第二方向向量由对应父节点指向该子节点;
根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点。
在本发明实施例较佳的选择中,在上述柔体飘动模拟方法中,根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点的步骤包括:
计算所述第二方向向量和所述第一方向向量的夹角,以得到旋转角度;
根据所述旋转角度以对应父节点为圆心旋转该子节点。
在本发明实施例较佳的选择中,在上述柔体飘动模拟方法中,根据柔体生成骨骼链可以通过以下步骤实现:
按照预设方向依次采集柔体上的多个点,并获取相邻两个点之间的位置关系;
根据相邻两个点之间的位置关系按照预设方向依次生成多个节点,以生成所述骨骼链。
本发明实施例还提供了一种柔体飘动模拟装置,包括:
向量获取模块,用于分别获取骨骼链中各父节点指向对应的子节点的第一方向向量,其中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点;
节点旋转模块,用于针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。
在本发明实施例较佳的选择中,在上述柔体飘动模拟装置中,所述节点旋转模块包括:
信息获取子模块,用于针对每一个子节点,在对应的父节点发生位移时,获取该子节点的当前位置信息和对应父节点发生位移后的位置信息;
节点旋转子模块,用于根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。
在本发明实施例较佳的选择中,在上述柔体飘动模拟装置中,所述节点旋转子模块包括:
向量获取单元,用于根据该子节点的当前位置信息和对应父节点发生位移后的位置信息计算得到第二方向向量,其中,所述第二方向向量由对应父节点指向该子节点;
节点旋转单元,用于根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点。
在本发明实施例较佳的选择中,在上述柔体飘动模拟装置中,所述装置还包括:
关系获取模块,用于按照预设方向依次采集柔体上的多个点,并获取相邻两个点之间的位置关系;
骨骼链生成模块,用于根据相邻两个点之间的位置关系按照预设方向依次生成多个节点,以生成所述骨骼链。
本发明实施例还提供了一种终端设备,包括处理器、存储器及柔体飘动模拟装置,其中,所述柔体飘动模拟装置包括一个或多个存储于所述存储器中并由所述处理器执行的软件功能模块,所述软件功能模块包括:
向量获取模块,用于分别获取骨骼链中各父节点指向对应的子节点的第一方向向量,其中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点;
节点旋转模块,用于针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。
本发明提供的柔体飘动模拟方法、柔体飘动模拟装置及终端设备,通过采用骨骼链以模拟柔体,并通过控制骨骼链中父节点与子节点之间的位移关系,以实现对柔体飘动场景的模拟,在保证模拟效果较佳的基础上,可以改善现有柔体飘动模拟技术中存在的计算量大的问题,极大地提高了柔体飘动模拟方法、柔体飘动模拟装置及终端设备的实用性和可靠性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
图1为本发明实施例提供的终端设备的结构框图。
图2为本发明实施例提供的柔体飘动模拟方法的流程示意图。
图3为图2中步骤S130的流程示意图。
图4为本发明实施例提供的柔体飘动模拟方法的另一流程示意图。
图5为本发明实施例提供的柔体飘动模拟装置的结构框图。
图6为本发明实施例提供的节点旋转子模块的结构框图。
图7为本发明实施例提供的柔体飘动模拟装置的另一结构框图。
图标:10-终端设备;12-存储器;14-处理器;100-柔体飘动模拟装置;110-向量获取模块;130-节点旋转模块;131-信息获取子模块;133-节点旋转子模块;150-关系获取模块;170-骨骼链生成模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为只是或暗示相对重要性。
如图1所示,本发明实施例提供了一种终端设备10,包括存储器12、处理器14和柔体飘动模拟装置100。
其中,所述终端设备10可以包括,但不限于是智能手机、个人电脑(personalcomputer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。在本实施例中,所述终端设备10优选为可移动终端设备,例如手机。通过所述柔体飘动模拟装置100,可以解决现有柔体飘动模拟技术中由于计算量大而导致可移动终端设备耗电量大的问题,进而降低可移动终端设备的有效使用时间。
进一步地,在本实施实例中,所述存储器12和处理器14之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述柔体飘动模拟装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器12中的软件功能模块。所述处理器14用于执行所述存储器12中存储的可执行模块,例如所述柔体飘动模拟装置100所包括的软件功能模块及计算机程序等,以实现柔体飘动模拟方法。
其中,所述存储器12可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器12用于存储程序,所述处理器14在接收到执行指令后,执行所述程序。
所述处理器14可能是一种集成电路芯片,具有信号的处理能力。上述的处理器14可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解,图1所示的结构仅为示意,所述终端设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置,例如,还可以包括用于与服务器进行数据交互的通信单元。图1中所示的各组件可以采用硬件、软件或其组合实现.
结合图2,本发明实施例还提供一种可应用于上述终端设备10的柔体飘动模拟方法,所述方法有关的流程所定义的方法步骤可以由所述处理器14实现。下面将对图2所示的具体流程进行详细阐述。
步骤S110,分别获取骨骼链中各父节点指向对应的子节点的第一方向向量。
在本实施例中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点。例如,所述骨骼链可以包括A、B、C三个节点,其中,B既是A的子节点,也是C的父节点,通过步骤S110可以得到第一方向向量AB和BC。
步骤S130,针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。
在本实施例中,若A节点首先发生位移,可以带动B节点发生位移,并通过B节点的位移带动C节点发生位移。其中,由于B节点是由A节点带动,因此,可以根据A节点的位移信息和第一方向向量AB(AB之间的位置关系)得到B节点的位移方式,从而对B节点进行位移控制(旋转)。
可选地,根据父节点的位移信息对子节点的位移控制的方式不受限制,可以根据实际控制效果进行设置。在本实施例中,结合图3,步骤S130可以包括步骤S131和步骤S133,以实现对子节点的位移控制(旋转)。
步骤S131,针对每一个子节点,在对应的父节点发生位移时,获取该子节点的当前位置信息和对应父节点发生位移后的位置信息。
步骤S133,根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。
在本实施例中,若B节点为子节点,对应的父节点为A节点。若A节点发生位移,会带动B节点发生位移。因此,需要获取A节点发生位移后的位置信息和B节点的当前位置信息,以结合第一方向向量AB(A节点与B节点的位置关系)对B节点进行位移控制(旋转)。
可选地,根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点的方式不受限制,可以根据实际应用中的控制精度要求进行设置。在本实施例中,步骤S133可以包括以下步骤:根据该子节点的当前位置信息和对应父节点发生位移后的位置信息计算得到第二方向向量,其中,所述第二方向向量由对应父节点指向该子节点;根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点。
例如,若A节点发生位移后的坐标为A1,则计算得到第二方向向量A1B,并结合第一方向向量AB计算得到B节点的旋转量,以使B节点根据该旋转量进行旋转后的位置更具有真实性。
可选地,根据第二方向向量和第一方向向量计算得到旋转量的方式不受限制,根据实际需要进行设置即可。在本实施例中,可以通过以下步骤以计算得到旋转量:计算所述第二方向向量和所述第一方向向量的夹角,以得到旋转角度;根据所述旋转角度以对应父节点为圆心旋转该子节点。
例如,可以计算第一方向向量AB旋转至第二方向向量A1B的角度,根据该角度以A1为圆心旋转B节点至B1。
结合图4,所述柔体飘动模拟方法还可以包括步骤S150和步骤S170,以实现根据柔体生成所述骨骼链的目的。
步骤S150,按照预设方向依次采集柔体上的多个点,并获取相邻两个点之间的位置关系。
步骤S170,根据相邻两个点之间的位置关系按照预设方向依次生成多个节点,以生成所述骨骼链。
可选地,采集柔体上的点的数量不受限制,可以根据实际应用需求进行设置,例如,在需要具有较高的位移控制精度时,可以采集较多的点,并对应生成较多的节点。
例如,在柔体上按照预设方向依次采集得到a点、b点、c点,并分别获取a点与b点之间的位置关系ab和b点与c点之间的位置关系bc。根据ab按照预设方向依次生成A节点和B节点,并根据bc生成节点C节点,从而形成包括A节点、B节点、C节点的骨骼链。
结合图5,本发明实施例还提供一种可应用于上述终端设备10的柔体飘动模拟装置100。其中,所述柔体飘动模拟装置100可以包括向量获取模块110和节点旋转模块130。
所述向量获取模块110,用于分别获取骨骼链中各父节点指向对应的子节点的第一方向向量,其中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点。在本实施例中,所述向量获取模块110可用于执行图2所示的步骤S110,关于所述向量获取模块110的具体描述可以参照前文对步骤S110的描述。
所述节点旋转模块130,用于针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。在本实施例中,所述节点旋转模块130可用于执行图2所示的步骤S130,关于所述节点旋转模块130的具体描述可以参照前文对步骤S130的描述。
结合图6,在本实施例中,所述节点旋转模块130可以包括信息获取子模块131和节点旋转子模块133,以实现对每一个子节点的旋转。
所述信息获取子模块131,用于针对每一个子节点,在对应的父节点发生位移时,获取该子节点的当前位置信息和对应父节点发生位移后的位置信息。在本实施例中,所述信息获取子模块131可用于执行图3所示的步骤S131,关于所述信息获取子模块131的具体描述可以参照前文对步骤S133的描述。
所述节点旋转子模块133,用于根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟。在本实施例中,所述节点旋转子模块133可用于执行图3所示的步骤S133,关于所述节点旋转子模块133的具体描述可以参照前文对步骤S133的描述。
其中,所述节点旋转子模块133可以包括向量获取单元和节点旋转单元。所述向量获取单元,用于根据该子节点的当前位置信息和对应父节点发生位移后的位置信息计算得到第二方向向量,其中,所述第二方向向量由对应父节点指向该子节点。所述节点旋转单元,用于根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点。
结合图7,在本实施例中,所述柔体飘动模拟装置100还可以包括关系获取模块150和骨骼链生成模块170,以根据柔体生成骨骼链。
所述关系获取模块150,用于按照预设方向依次采集柔体上的多个点,并获取相邻两个点之间的位置关系。在本实施例中,所述关系获取模块150可用于执行图4所示的步骤S150,关于所述关系获取模块150的具体描述可以参照前文对步骤S150的描述。
所述骨骼链生成模块170,用于根据相邻两个点之间的位置关系按照预设方向依次生成多个节点,以生成所述骨骼链。在本实施例中,所述骨骼链生成模块170可用于执行图4所示的步骤S170,关于所述骨骼链生成模块170的具体描述可以参照前文对步骤S170的描述。
综上所述,本发明提供的一种柔体飘动模拟方法、柔体飘动模拟装置100及终端设备10,通过采用骨骼链以模拟柔体,并通过控制骨骼链中父节点与子节点之间的位移关系,以实现对柔体飘动场景的模拟,在保证模拟效果较佳的基础上,可以改善现有柔体飘动模拟技术中存在的计算量大的问题,极大地提高了柔体飘动模拟方法、柔体飘动模拟装置100及终端设备10的实用性和可靠性。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种柔体飘动模拟方法,其特征在于,所述方法包括:
分别获取骨骼链中各父节点指向对应的子节点的第一方向向量,其中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点;
针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟;
其中,针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟的步骤包括:
针对每一个子节点,在对应的父节点发生位移时,获取该子节点的当前位置信息和对应父节点发生位移后的位置信息;
根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟;
其中,根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点的步骤包括:
根据该子节点的当前位置信息和对应父节点发生位移后的位置信息计算得到第二方向向量,其中,所述第二方向向量由对应父节点指向该子节点;
根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点。
2.根据权利要求1所述的柔体飘动模拟方法,其特征在于,根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点的步骤包括:
计算所述第二方向向量和所述第一方向向量的夹角,以得到旋转角度;
根据所述旋转角度以对应父节点为圆心旋转该子节点。
3.根据权利要求1或2所述的柔体飘动模拟方法,其特征在于,根据柔体生成骨骼链可以通过以下步骤实现:
按照预设方向依次采集柔体上的多个点,并获取相邻两个点之间的位置关系;
根据相邻两个点之间的位置关系按照预设方向依次生成多个节点,以生成所述骨骼链。
4.一种柔体飘动模拟装置,其特征在于,所述装置包括:
向量获取模块,用于分别获取骨骼链中各父节点指向对应的子节点的第一方向向量,其中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点;
节点旋转模块,用于针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟;
其中,所述节点旋转模块包括:
信息获取子模块,用于针对每一个子节点,在对应的父节点发生位移时,获取该子节点的当前位置信息和对应父节点发生位移后的位置信息;
节点旋转子模块,用于根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟;
其中,所述节点旋转子模块包括:
向量获取单元,用于根据该子节点的当前位置信息和对应父节点发生位移后的位置信息计算得到第二方向向量,其中,所述第二方向向量由对应父节点指向该子节点;
节点旋转单元,用于根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点。
5.根据权利要求4所述的柔体飘动模拟装置,其特征在于,所述装置还包括:
关系获取模块,用于按照预设方向依次采集柔体上的多个点,并获取相邻两个点之间的位置关系;
骨骼链生成模块,用于根据相邻两个点之间的位置关系按照预设方向依次生成多个节点,以生成所述骨骼链。
6.一种终端设备,其特征在于,包括处理器、存储器及柔体飘动模拟装置,其中,所述柔体飘动模拟装置包括一个或多个存储于所述存储器中并由所述处理器执行的软件功能模块,所述软件功能模块包括:
向量获取模块,用于分别获取骨骼链中各父节点指向对应的子节点的第一方向向量,其中,所述骨骼链根据柔体生成,在所述骨骼链的任意相邻两个节点中,按照预设方向顺序依次为父节点和子节点;
节点旋转模块,用于针对每一个子节点,在对应的父节点发生位移时,根据该父节点的位移信息和对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟;
其中,所述节点旋转模块包括:
信息获取子模块,用于针对每一个子节点,在对应的父节点发生位移时,获取该子节点的当前位置信息和对应父节点发生位移后的位置信息;
节点旋转子模块,用于根据该子节点的当前位置信息、对应父节点发生位移后的位置信息以及对应的第一方向向量旋转该子节点,以对柔体飘动进行模拟;
其中,所述节点旋转子模块包括:
向量获取单元,用于根据该子节点的当前位置信息和对应父节点发生位移后的位置信息计算得到第二方向向量,其中,所述第二方向向量由对应父节点指向该子节点;
节点旋转单元,用于根据所述第二方向向量和对应的第一方向向量计算得到该子节点的旋转量,并根据所述旋转量旋转该子节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711271088.0A CN108159694B (zh) | 2017-12-05 | 2017-12-05 | 柔体飘动模拟方法、柔体飘动模拟装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711271088.0A CN108159694B (zh) | 2017-12-05 | 2017-12-05 | 柔体飘动模拟方法、柔体飘动模拟装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108159694A CN108159694A (zh) | 2018-06-15 |
CN108159694B true CN108159694B (zh) | 2020-12-11 |
Family
ID=62525168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711271088.0A Active CN108159694B (zh) | 2017-12-05 | 2017-12-05 | 柔体飘动模拟方法、柔体飘动模拟装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108159694B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111127606B (zh) * | 2019-12-25 | 2024-02-23 | 北京像素软件科技股份有限公司 | 柔体飘动方向控制方法、装置及电子设备 |
CN111369647B (zh) * | 2020-03-16 | 2023-11-28 | 网易(杭州)网络有限公司 | 信息处理方法及装置、计算机存储介质、电子设备 |
CN111773690B (zh) * | 2020-06-30 | 2021-11-09 | 完美世界(北京)软件科技发展有限公司 | 任务的处理方法和装置、存储介质、电子装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010170279A (ja) * | 2009-01-21 | 2010-08-05 | Namco Bandai Games Inc | 骨格動作制御システム、プログラムおよび情報記憶媒体 |
CN104867171A (zh) * | 2015-05-05 | 2015-08-26 | 中国科学院自动化研究所 | 一种三维角色的过渡动画生成方法 |
CN105184096A (zh) * | 2015-09-25 | 2015-12-23 | 河海大学 | 一种虚拟人运动位姿的计算方法 |
CN105551072B (zh) * | 2015-12-11 | 2018-11-30 | 网易(杭州)网络有限公司 | 实现角色模型局部实时运动的方法及系统 |
CN107067451B (zh) * | 2017-04-07 | 2021-07-13 | 阿里巴巴(中国)有限公司 | 动画中动态骨骼的实现方法和装置 |
-
2017
- 2017-12-05 CN CN201711271088.0A patent/CN108159694B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108159694A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108159694B (zh) | 柔体飘动模拟方法、柔体飘动模拟装置及终端设备 | |
CN105338619B (zh) | 定位方法及装置 | |
CN109344314B (zh) | 一种数据处理方法、装置及服务器 | |
CN105938557A (zh) | 图像识别方法、图像识别装置 | |
JP2022520390A (ja) | 画像認識方法、認識モデルのトレーニング方法及びその装置、並びにコンピュータプログラム | |
CN111298443B (zh) | 游戏对象控制方法和装置、电子设备及存储介质 | |
CN109656706A (zh) | 分布式任务调度方法、系统、设备以及介质 | |
CN110910483B (zh) | 三维重建方法、装置及电子设备 | |
CN110120087B (zh) | 三维虚拟沙盘的标签标注方法、装置及终端设备 | |
CN114626503A (zh) | 模型的训练方法、目标检测方法、装置、电子设备及介质 | |
CN115205736A (zh) | 视频数据的识别方法和装置、电子设备和存储介质 | |
CN111368860B (zh) | 重定位方法及终端设备 | |
CN111353002A (zh) | 网络表示学习模型的训练方法、装置、电子设备及介质 | |
US9911201B2 (en) | Imaging process initialization techniques | |
CN108875901B (zh) | 神经网络训练方法以及通用物体检测方法、装置和系统 | |
CN110298912B (zh) | 三维场景的复现方法、系统、电子装置及存储介质 | |
CN112258647A (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
JP2017111808A (ja) | 毛髪セグメンテーションのためのシステムおよび方法 | |
CN110533663A (zh) | 一种图像视差确定方法、装置、设备及系统 | |
CN114674328A (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN109189773B (zh) | 一种数据修复方法及装置 | |
JP2022516196A (ja) | 画像処理及びニューラルネットワーク訓練方法、装置、機器、媒体並びにプログラム | |
CN114299073A (zh) | 图像分割方法、装置、存储介质以及计算机程序 | |
CN109886185B (zh) | 一种目标识别方法、装置、电子设备和计算机存储介质 | |
CN113360745A (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 |