CN114470752A - 轨道模型的生成方法、装置、设备及存储介质 - Google Patents
轨道模型的生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114470752A CN114470752A CN202111601271.9A CN202111601271A CN114470752A CN 114470752 A CN114470752 A CN 114470752A CN 202111601271 A CN202111601271 A CN 202111601271A CN 114470752 A CN114470752 A CN 114470752A
- Authority
- CN
- China
- Prior art keywords
- track
- model
- virtual scene
- scene
- orbit
- 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.)
- Pending
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
-
- 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/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2008—Assembling, disassembling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种轨道模型的生成方法、装置、设备及存储介质,其中,该方法包括:获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;基于所述轨道生成信息和所述轨道属性信息生成轨道模型。本方式中,用户只需要在虚拟场景中添加基础样条线并输入轨道属性信息,即可自动生成对应的轨道模型,不需要手动编辑,提高了轨道模型的生成效率。
Description
技术领域
本发明涉及游戏技术领域,尤其涉及一种轨道模型的生成方法、装置、设备及存储介质。
背景技术
在基于虚拟场景运行的应用程序中,通常包括多种在虚拟场景中的虚拟对象和虚拟物体,其中,虚拟对象指示在虚拟场景中被玩家控制运动的虚拟人物、虚拟动物等,虚拟物体指示在虚拟场景中设置的三维模型,如:虚拟房屋、虚拟树木、虚拟载具等。
在现有技术中,虚拟场景中设置虚拟的轻轨,需要工作人员进行逐个配置,根据虚拟场景中不同的场景需求进行手动编辑,通过手动编辑的方式生成虚拟场景中的轨道模型,模型的编辑效率低,且由于可复用性差,导致模型编辑的工作量巨大,需要耗费大量的人力资源。
发明内容
本发明的主要目的在于解决现有的轨道模型编辑技术效率低并且可复用性差的技术问题。
本发明第一方面提供了一种轨道模型的生成方法,方法包括:获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;基于所述轨道生成信息和所述轨道属性信息生成轨道模型。
可选的,在本发明第一方面的第一种实现方式中,所述基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线包括:对所述基础样条线进行特征点采样,得到所述基础样条线上的一个或多个特征点;根据一个或多个所述特征点在所述虚拟场景中发射的一条或多条射线,并确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
可选的,在本发明第一方面的第二种实现方式中,所述根据一个或多个所述特征点在所述虚拟场景中发射的一条或多条射线,并确定与所述虚拟场景中的场景模型发生碰撞事件的射线包括:确定所述虚拟场景的世界坐标系中预设的至少一个方向矢量;基于所述方向矢量将多个所述特征点作为射线起点在所述虚拟场景中发射一条或多条射线;确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
可选的,在本发明第一方面的第三种实现方式中,在所述确定与所述虚拟场景中的场景模型发生碰撞事件的射线之后,还包括:确定与射线发生碰撞事件的场景模型的模型类别;根据所述模型类别,判断与射线发生碰撞事件的场景模型是否会阻挡轨道模型;若否,则将对应的与射线发生碰撞事件的场景模型过滤,使射线透过过滤的场景模型,重新向所述虚拟场景发射。
可选的,在本发明第一方面的第四种实现方式中,所述根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息包括:获取发生碰撞事件的射线的射线信息,并确定对应的所述虚拟场景中发生碰撞事件的位置;根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息。
可选的,在本发明第一方面的第五种实现方式中,所述射线信息包括射线长度,所述轨道属性信息包括轨道调整值,所述轨道生成信息包括轻轨贴地类型;所述根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息包括:判断所述射线长度是否小于所述轨道调整值;若是,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地;若否,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地。
可选的,在本发明第一方面的第六种实现方式中,所述轨道属性信息包括支撑柱填负长度、支撑柱单位长度,所述轨道生成信息还包括支撑柱组成数;所述根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息还包括:若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地,则将所述射线长度减去所述支撑柱填负长度得到相减结果;将所述相减结果除以所述支撑柱单位长度,得到对应的所述虚拟场景中发生碰撞事件的位置的支撑柱组成数;若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地,则将所述的支撑柱组成数设置为零。
可选的,在本发明第一方面的第七种实现方式中,所述基于所述轨道生成信息和所述轨道属性信息生成轨道模型包括:基于所述轨道生成信息和所述轨道属性信息对所述基础样条线进行调整,得到轻轨样条线;对所述轻轨样条线进行点细分,并计算所述轻轨样条线上各点与正下方的场景模型的距离值;根据所述距离值判断所述轻轨样条线上各点对应的轨道形式;根据所述轻轨样条线上各点对应的轨道形式对所述轻轨样条线进行轨道模型自动生成,得到对应的轨道模型。
可选的,在本发明第一方面的第八种实现方式中,所述轨道形式包括单轨道部件、转接部件和护栏轨道部件;所述根据所述距离值判断所述轻轨样条线上各点对应的轨道形式包括:获取所述轻轨样条线上的第一点与所述第一点正下方的场景模型的第一距离值和所述轻轨样条线上的最后一点与所述最后第一点正下方的场景模型的结尾距离值;将所述第一距离值或所述结尾距离值中小于预设的浮空阈值的距离值对应的轨道形式设置为单轨道部件;将所述第一距离值或所述结尾距离值中大于或等于所述浮空阈值的距离值对应的轨道形式设置为护栏轨道部件;对所述轻轨样条线上除所述第一点和所述最后一点外的剩余点进行遍历,判断各剩余点对应的距离值是否小于所述浮空阈值;若是,则判断对应的剩余点的前后两点的距离值是否均小于所述浮空阈值;若前后两点均小于所述浮空阈值,则将对应的剩余点的轨道形式设置为单轨道部件;若前后两点不均小于所述浮空阈值,将对应的剩余点的轨道形式设置为转接部件;若否,则对应的剩余点的轨道形式设置为护栏轨道部件。
可选的,在本发明第一方面的第九种实现方式中,在所述基于所述方向矢量将多个所述特征点作为射线起点在所述虚拟场景中发射一条或多条射线之后,还包括:若在所述虚拟场景中发射一条或多条射线与虚拟场景中的场景模型均不发生碰撞事件,则将所述基础样条线作为轻轨样条线,并将轻轨样条线上各点对应的轨道形式设置为单轨道部件。
可选的,在本发明第一方面的第十种实现方式中,在所述基于所述轨道生成信息和所述轨道属性信息生成轨道模型之后,还包括:获取所述轨道模型的曲线结构;基于预设的切割长度,对所述曲线结构进行重采样;根据重采样的曲线结构生成碰撞盒,并基于所述碰撞盒对所述轨道模型进行分段切割,得到轻轨片段;对所述轻轨片段进行轴心回归,并记录所述轻轨片段在世界坐标系中的原始位置信息。
可选的,在本发明第一方面的第十一种实现方式中,在所述对所述轻轨片段进行轴心回归,并记录所述轻轨片段的原始位置信息之后,还包括:根据所述原始位置信息,对所述轻轨片段进行拼接,在所述虚拟场景中重现所述轨道模型。
本发明第二方面提供了一种轨道模型的生成装置,包括:获取模块,用于获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;射线检查模块,用于基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;计算模块,用于根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;模型编辑模块,用于基于所述轨道生成信息和所述轨道属性信息生成轨道模型。
可选的,在本发明第二方面的第一种实现方式中,所述射线检查模块具体包括:特征点采样单元,用于对所述基础样条线进行特征点采样,得到所述基础样条线上的一个或多个特征点;射线发射单元,用于根据一个或多个所述特征点在所述虚拟场景中发射的一条或多条射线,并确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
可选的,在本发明第二方面的第二种实现方式中,所述射线发射单元具体用于:确定所述虚拟场景的世界坐标系中预设的至少一个方向矢量;基于所述方向矢量将多个所述特征点作为射线起点在所述虚拟场景中发射一条或多条射线;确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
可选的,在本发明第二方面的第三种实现方式中,所述轨道模型的生成装置还包括模型过滤模块,所述模型过滤模块具体用于:确定与射线发生碰撞事件的场景模型的模型类别;根据所述模型类别,判断与射线发生碰撞事件的场景模型是否会阻挡轨道模型;若否,则将对应的与射线发生碰撞事件的场景模型过滤,使射线透过过滤的场景模型,重新向所述虚拟场景发射。
可选的,在本发明第二方面的第四种实现方式中,所述计算模块具体包括:射线信息获取单元,用于获取发生碰撞事件的射线的射线信息,并确定对应的所述虚拟场景中发生碰撞事件的位置;信息计算单元,用于根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息。
可选的,在本发明第二方面的第五种实现方式中,所述射线信息包括射线长度,所述轨道属性信息包括轨道调整值,所述轨道生成信息包括轻轨贴地类型;所述信息计算单元具体用于:判断所述射线长度是否小于所述轨道调整值;若是,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地;若否,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地。
可选的,在本发明第二方面的第六种实现方式中,所述轨道属性信息包括支撑柱填负长度,所述轨道生成信息还包括支撑柱组成数;所述信息计算单元具体还用于:若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地,则将所述射线长度减去所述支撑柱填负长度得到相减结果;将所述相减结果除以所述支撑柱单位长度,得到对应的所述虚拟场景中发生碰撞事件的位置的支撑柱组成数;若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地,则将所述的支撑柱组成数设置为零。
可选的,在本发明第二方面的第七种实现方式中,所述模型编辑模块具体包括:样条线调整单元,用于基于所述轨道生成信息和所述轨道属性信息对所述基础样条线进行调整,得到轻轨样条线;点细分单元,用于对所述轻轨样条线进行点细分,并计算所述轻轨样条线上各点与正下方的场景模型的距离值;轨道形式判断单元,用于根据所述距离值判断所述轻轨样条线上各点对应的轨道形式;轻轨编辑单元,用于根据所述轻轨样条线上各点对应的轨道形式对所述轻轨样条线进行轨道模型自动生成,得到对应的轨道模型。
可选的,在本发明第二方面的第八种实现方式中,所述轨道形式包括单轨道部件、转接部件和护栏轨道部件;所述轨道形式判断单元具体用于:获取所述轻轨样条线上的第一点与所述第一点正下方的场景模型的第一距离值和所述轻轨样条线上的最后一点与所述最后第一点正下方的场景模型的结尾距离值;将所述第一距离值或所述结尾距离值中小于预设的浮空阈值的距离值对应的轨道形式设置为单轨道部件;将所述第一距离值或所述结尾距离值中大于或等于所述浮空阈值的距离值对应的轨道形式设置为护栏轨道部件;对所述轻轨样条线上除所述第一点和所述最后一点外的剩余点进行遍历,判断各剩余点对应的距离值是否小于所述浮空阈值;若是,则判断对应的剩余点的前后两点的距离值是否均小于所述浮空阈值;若前后两点均小于所述浮空阈值,则将对应的剩余点的轨道形式设置为单轨道部件;若前后两点不均小于所述浮空阈值,将对应的剩余点的轨道形式设置为转接部件;若否,则对应的剩余点的轨道形式设置为护栏轨道部件。
可选的,在本发明第二方面的第九种实现方式中,所述轨道模型的生成装置还包括无碰撞模块,所述无碰撞模块用于:若在所述虚拟场景中发射一条或多条射线与虚拟场景中的场景模型均不发生碰撞事件,则将所述基础样条线作为轻轨样条线,并将轻轨样条线上各点对应的轨道形式设置为单轨道部件。
可选的,在本发明第二方面的第十种实现方式中,所述轨道模型的生成装置还包括模型切割模块,所述模型切割模块具体用于:获取所述轨道模型的曲线结构;基于预设的切割长度,对所述曲线结构进行重采样;根据重采样的曲线结构生成碰撞盒,并基于所述碰撞盒对所述轨道模型进行分段切割,得到轻轨片段;对所述轻轨片段进行轴心回归,并记录所述轻轨片段在世界坐标系中的原始位置信息。
可选的,在本发明第二方面的第十一种实现方式中,所述轨道模型的生成装置还包括模型拼接模块,所述模型拼接模块具体用于:根据所述原始位置信息,对所述轻轨片段进行拼接,在所述虚拟场景中重现所述轨道模型。
本发明第三方面提供了一种轨道模型的生成装置,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述轨道模型的生成设备执行上述的轨道模型的生成方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的轨道模型的生成方法的步骤。
上述轨道模型的生成方法、装置、设备及存储介质,通过获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;基于所述轨道生成信息和所述轨道属性信息生成轨道模型。本方式中,用户只需要在虚拟场景中添加基础样条线并输入轨道属性信息,即可自动生成对应的轨道模型,不需要手动编辑,提高了轨道模型的生成效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
图1为本发明实施例中轨道模型的生成方法的一个实施例示意图;
图2为本发明实施例中轨道模型的单轨道部件示意图;
图3为本发明实施例中轨道模型的转接部件示意图;
图4为本发明实施例中轨道模型的护栏轨道部件示意图;
图5为本发明实施例中轨道模型的生成装置的一个实施例示意图;
图6为本发明实施例中轨道模型的生成装置的另一个实施例示意图;
图7为本发明实施例中轨道模型的生成设备的一个实施例示意图;
具体实施方式
本发明实施例提供一种轨道模型的生成方法、装置、设备及存储介质,通过获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;基于所述轨道生成信息和所述轨道属性信息生成轨道模型。本方式中,用户只需要在虚拟场景中添加基础样条线并输入轨道属性信息,即可自动生成对应的轨道模型,不需要手动编辑,提高了轨道模型的生成效率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中轨道模型的生成方法的第一个实施例包括:
101、获取在虚拟场景配置的基础样条线和轨道属性信息,其中,虚拟场景中配置有场景模型;
可以理解的是,本发明的执行主体可以为轨道模型的生成装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
在本实施例中,虚拟场景可以但不限于包括:游戏场景,虚拟现实(VR)场景,动画场景,模拟器场景等等。比如在手机安卓(Android)系统中渲染游戏场景,在PC计算机的安卓(Android)系统中渲染动画场景等等。可以利用虚幻引擎编辑虚拟场景以及虚拟场景中的场景模型。
在本实施例中,所述基础样条线为基于原生的Bspline的曲线,用于辅助生成轨道模型的实体,场景编辑人员在虚拟场景中预先根据需求设置,场景编辑人员可以通过修改样条线的切线方向及大小,对基础样条线进行配置,达到快速创建,修改轻轨基本型的目的。
具体的,轨道模型为以样条线为基础的自动化构建模型,根据需求可以为轻轨、高铁、地铁和高速公路等交通线路,除此之外,还可以是道路、桥梁和围栏等的模型。
在一些实施例中,所述基础样条线通过场景编辑人员输入指令,虚幻引擎根据指令生成基础样条线,所述基础样条线用于调整后生成轻轨样条线,所述轻轨样条线用于生成轻轨模型。
在实际应用中,所述轨道属性信息可以是用户事先配置的,也可以是在需要进行轨道模型编辑时输入的参数,在本实施例中,所述轨道属性信息主要包括以下参数:
1、默认参数组,包括选项is loop,用于选择轨道模型的轨道是否为环形轨道,如勾选,则轨道模型的轨道会自动闭合;参数rail_divisor,用于调整轨道的类型参数,如rail_divisor为20单位时,距离地面20单位之内的轨道会变成贴地的轨道。
2、间隔参数组,包括参数spacing用于设置轨道模型中每段轨道的长度;参数Pillar Spacing用于设置轨道模型中各轨道之间的间隔。
3、支撑柱参数组,包括参数pillar1、pillar2和pillar3,用于分别设置轨道模型的三种不同的支撑柱的类型,分别对应8m、5m和2m的高度;参数pillar start distance,用于调整支撑柱起始处与轨道的距离;参数pillar Bias,用于设置填负的支撑柱长度,用于调整距离地面距离的参数,负的越多,支撑柱漏出来的多;参数pillar section length用于设置支撑柱中间可缩减的每一段的长度;参数pillar height thres用于判断支撑柱的长度低于多少,支撑柱就不会再产生。
102、基于基础样条线,在虚拟场景中发射一条或多条射线,确定与虚拟场景中的场景模型发生碰撞事件的射线;
在本实际应用中,可以通过多种方式进行射线的发生,在本实施例中主要使用预设的射线检查工具,射线检查工具用于发射射线,并检查射线第一次碰撞到的场景模型,在实际应用中,可以在虚幻引擎中显示射线查看效果,在射线击中场景模型后,保存射线与场景模型的碰撞信息,例如场景模型的场景类型,射线的长度等,本发明对射线的发射方式不做限定。
在一些实施例中,确定虚拟场景中与射线发生碰撞事件的场景模型主要是对所述基础样条线进行特征点采样,得到所述基础样条线上的多个特征点;对所述基础样条线进行特征点采样,得到所述基础样条线上的一个或多个特征点;根据一个或多个所述特征点在所述虚拟场景中发射的一条或多条射线,并确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
具体的,在轨道属性信息中,还包括有对基础样条线进行特征点采样的采样距离,例如基础样条线的长度在虚拟引擎中设定为100m,轨道属性信息中的采样距离为10m,则获得10个基础样条线的特征点。
在一些实施例中,确定与所述虚拟场景中的场景模型发生碰撞事件的的射线主要是通过确定所述虚拟场景的世界坐标系中预设的至少一个方向矢量;基于所述方向矢量将多个所述特征点作为射线起点在所述虚拟场景中发射一条或多条射线;确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
具体的,在虚拟场景中将世界坐标系中的(0,0,1)与(0,0,-1)作为方向矢量,以基础样条线上的特征点为起点,基于方向向量和射线起点即可在虚拟场景中发射射线,并将虚拟场景中与射线发生第一次碰撞的场景模型确认为与射线发生碰撞事件的场景模型。
在一些实施例中,在所述确定与所述虚拟场景中的场景模型发生碰撞事件的射线之后,还包括确定与射线发生碰撞事件的场景模型的模型类别;根据所述模型类别,判断与射线发生碰撞事件的场景模型是否会阻挡轨道模型;若否,则将对应的与射线发生碰撞事件的场景模型过滤,使射线透过过滤的场景模型,重新向所述虚拟场景发射。
具体的,射线检查工具在发出射线后,在识别到与射线发生碰撞事件的场景模型后,将对该场景模型进行类型识别,进行类型识别的目的是为了将物理世界下不会对轻轨进行阻挡的物件对应的场景模型进行滤除,例如水面和植被等,对不会对轻轨进行阻挡的物件对应的场景模型进行滤除能够确定实际上会对轻轨进行阻挡的物件对应的场景模型,防止一些不应该产生碰撞的模型对轻轨的生成产生影响,当对场景模型进行类型识别识别到上述不会对轻轨进行阻挡的物件对应的场景模型时,例如水面模型,则不会将该射线的距离作为最终距离,而是会继续向下寻找更远的碰撞体,直到找到会对轻轨进行阻挡的物件对应的场景模型。
103、根据发生碰撞事件的射线和轨道属性信息,计算虚拟场景中发生碰撞事件的位置的轨道生成信息;
在本实施例中,射线检查工具发出的射线有部分与虚拟场景中的场景模型发生碰撞,另外部分与虚拟场景中的场景模型并没有发生碰撞,则根据发生碰撞事件的虚拟场景确定发生碰撞事件的射线,获取该射线的射线信息,并确定场景模型中发生碰撞的位置,以及上述轨道属性信息进行轨道生成信息的计算。
在一些实施例中,根据发生碰撞事件的射线和所述轨道属性信息计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息主要获取发生碰撞事件的射线的射线信息,并确定对应的所述虚拟场景中发生碰撞事件的位置;根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息。
具体的,所述射线信息可以包括有射线长度,也即时对应的特征点到碰撞事件的位置的距离,对应的特征点坐标等。
进一步的,在本实施例中,当射线信息中的射线长度大于一定长度时,说明发生碰撞的场景模型与样条线的距离较远,可以将该射线以及对应的射线和场景模型滤除,该长度可在轨道属性信息中确认是否进行设置,本发明不做限定。
在一些实施例中,根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息主要是通过判断所述射线长度是否小于所述轨道调整值;若是,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地;若否,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地。
在一些实施例中,根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息还包括若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地,则将所述射线长度减去所述支撑柱填负长度得到相减结果;将所述相减结果除以所述支撑柱单位长度,得到对应的所述虚拟场景中发生碰撞事件的位置的支撑柱组成数;若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地,则将所述的支撑柱组成数设置为零。
具体的,轨道生成信息有多种,此处以轻轨的支撑柱组成数和轻轨是否贴地为例,本发明不做限定。
具体的,轨道属性信息中包括有参数pillar start distance,用于调整支撑柱起始处与轨道的距离,参数pillar Bias,用于设置填负的支撑柱长度,用于调整距离地面距离的参数,负的越多,支撑柱漏出来的多,参数pillar section length用于设置支撑柱中间可缩减的每一段的长度,其中,参数pillar start distance即为上述的轨道调整值,参数pillar Bias即为上述的支撑柱填负长度,轨道模型在对应位置是否贴地主要是通过判断射线长度是否小于pliiar start distance,当轨道模型在对应位置是贴地时,则在该位置不产生支撑柱,当轨道模型在对应位置不贴地时,则需要在该位置产生支撑柱,此时,需要计算该位置需要支撑轨道模型的支撑柱总长度,则将射线长度减去支撑柱的填负长度,得到支撑柱露出在外面的长度,再将支撑柱露出在外面的长度除以支撑柱的单位长度,即可得到该位置支撑柱的数量。
104、基于轨道生成信息和轨道属性信息生成轨道模型。
在本实施例中,基于轨道生成信息和轨道属性信息即可完成虚拟场景中的轨道模型自动生成,通过确定每个位置的轻轨组件,并将所有位置的组件组合起来,即可得到轨道模型。
在一些实施例中,基于所述虚拟场景中所有的轨道生成信息和所述轨道属性信息进行轨道模型编辑,得到轨道模型包括基于所述轨道生成信息和所述轨道属性信息对所述基础样条线进行调整,得到轻轨样条线;对所述轻轨样条线进行点细分,并计算所述轻轨样条线上各点与正下方的场景模型的距离值;根据所述距离值判断所述轻轨样条线上各点对应的轨道形式;根据所述轻轨样条线上各点对应的轨道形式对所述轻轨样条线进行轨道模型编辑,得到轨道模型。
具体的,所述轨道形式包括单轨道部件、转接部件和护栏轨道部件,其中,单轨道部件如图2所示,转接部件如图3所示,护栏轨道部件如图4所示。
在一些实施例中,根据所述距离值判断所述轻轨样条线上各点对应的轨道形式包括获取所述轻轨样条线上的第一点与所述第一点正下方的场景模型的第一距离值和所述轻轨样条线上的最后一点与所述最后第一点正下方的场景模型的结尾距离值;将所述第一距离值或所述结尾距离值中小于预设的浮空阈值的距离值对应的轨道形式设置为单轨道部件;将所述第一距离值或所述结尾距离值中大于或等于所述浮空阈值的距离值对应的轨道形式设置为护栏轨道部件;对所述轻轨样条线上除所述第一点和所述最后一点外的剩余点进行遍历,判断各剩余点对应的距离值是否小于所述浮空阈值;若是,则判断对应的剩余点的前后两点的距离值是否均小于所述浮空阈值;若前后两点均小于所述浮空阈值,则将对应的剩余点的轨道形式设置为单轨道部件;若前后两点不均小于所述浮空阈值,将对应的剩余点的轨道形式设置为转接部件;若否,则对应的剩余点的轨道形式设置为护栏轨道部件。
具体的,通过记录样条线上每个点与下方物件的距离,并根据前后点的距离判断该点的轨道形式,若该点的据地高度小于浮空阈值,那么判断前后两个点是否都小于浮空阈值,如果都小于浮空阈值,则判断该点的部件为单轨道部件。如果前后有高于阈值,一个小于阈值,则判断该点的部件为转接部件,如果该点的距地高度高于浮空阈值,则根据具体高度选择支撑柱的模型,轨道本身则护栏轨道部件。
在一些实施例中,若在所述虚拟场景中发射一条或多条射线与虚拟场景中的场景模型均不发生碰撞事件,则将所述基础样条线作为轻轨样条线,并将轻轨样条线上各点对应的轨道形式设置为单轨道部件,并生成对应的轨道模型。
具体的,在虚拟场景中基于基础样条线发射射线后,可能发射的射线均不与场景模型发生碰撞事件,例如在编辑过程中可能会出现把轨道摆放到地底下的情况,出现这种情况默认使用普通轨道表示,也就是默认使用预设的单轨道部件进行轨道模型的生成。
在一些实施例中,在基于所述虚拟场景中所有的轨道生成信息进行轨道模型编辑,得到轨道模型之后,还包括获取所述轨道模型的曲线结构;基于预设的切割长度,对所述曲线结构进行重采样;根据重采样的曲线结构生成碰撞盒,并基于所述碰撞盒对所述轨道模型进行分段切割,得到轻轨片段;对所述轻轨片段进行轴心回归,并记录所述轻轨片段在世界坐标系中的原始位置信息。
具体的,通过轨道模型自动生成得到的轨道模型以一条样条线为单位,不能分段加载多层次细节,对性能造成影响,因此在完成第一阶段的轨道模型生成后,会通过一个Houdini的切块工具根据样条线长度对轻轨进行切割。
具体的,对轨道模型的曲线结构进行重采样,在本实施例中,对该曲线结构每10m采一个点,根据重采样的曲线生成碰撞盒,对轻轨进行分段切割,并对切好的轻轨片段做轴心归位,记录原始的位置信息。
在一些实施例中,在所述对所述轻轨片段进行轴心回归,并记录所述轻轨片段的原始位置信息之后,还包括根据所述原始位置信息,对所述轻轨片段进行拼接,在所述虚拟场景中重现所述轨道模型。
具体的,主要在虚拟引擎中用切好的轨道模型重现原始的轨道,需要将比较长的轻轨按照长度分成几个static mesh便于多细节层次的加载以及远景group的生成。
在本实施例中,通过获取用户在虚拟场景中配置的基础样条线和输入的轨道属性信息,其中,所述虚拟场景中配置有场景模型;基于所述基础样条线和预设的射线检查工具,向所述虚拟场景发射多条射线,确定所述虚拟场景中与射线发生碰撞事件的场景模型;根据发生碰撞事件的射线、场景模型和所述轨道属性信息计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;基于所述虚拟场景中所有的轨道生成信息和所述轨道属性信息进行轨道模型编辑,得到轨道模型。本方式中,用户只需要在虚拟场景中添加基础样条线并输入轨道属性信息,即可自动生成对应的轨道模型,不需要手动编辑,提高了轨道模型的生成效率。
上面对本发明实施例中轨道模型的生成方法进行了描述,下面对本发明实施例中轨道模型的生成装置进行描述,请参阅图5,本发明实施例中轨道模型的生成装置一个实施例包括:
获取模块501,用于获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;
射线检查模块502,用于基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;
计算模块503,用于根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;
模型编辑模块504,用于基于所述轨道生成信息和所述轨道属性信息生成轨道模型。
本发明实施例中,所述轨道模型的生成装置运行上述轨道模型的生成方法,所述轨道模型的生成装置通过获取用户在虚拟场景中配置的基础样条线和输入的轨道属性信息,其中,所述虚拟场景中配置有场景模型;基于所述基础样条线和预设的射线检查工具,向所述虚拟场景发射多条射线,确定所述虚拟场景中与射线发生碰撞事件的场景模型;根据发生碰撞事件的射线、场景模型和所述轨道属性信息计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;基于所述虚拟场景中所有的轨道生成信息和所述轨道属性信息进行轨道模型编辑,得到轨道模型。本方式中,用户只需要在虚拟场景中添加基础样条线并输入轨道属性信息,即可自动生成对应的轨道模型,不需要手动编辑,提高了轨道模型的生成效率。
请参阅图6,本发明实施例中轨道模型的生成装置的第二个实施例包括:
获取模块501,用于获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;
射线检查模块502,用于基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;
计算模块503,用于根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;
模型编辑模块504,用于基于所述轨道生成信息和所述轨道属性信息生成轨道模型。
具体的,所述射线检查模块502具体包括:
特征点采样单元5021,用于对所述基础样条线进行特征点采样,得到所述基础样条线上的一个或多个特征点;
射线发射单元5022,用于根据一个或多个所述特征点在所述虚拟场景中发射的一条或多条射线,并确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
具体的,所述射线发射单元5022具体用于:
确定所述虚拟场景的世界坐标系中预设的至少一个方向矢量;
基于所述方向矢量将多个所述特征点作为射线起点在所述虚拟场景中发射一条或多条射线;
确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
具体的,所述轨道模型的生成装置还包括模型过滤模块505,所述模型过滤模块505具体用于:
确定与射线发生碰撞事件的场景模型的模型类别;
根据所述模型类别,判断与射线发生碰撞事件的场景模型是否会阻挡轨道模型;
若否,则将对应的与射线发生碰撞事件的场景模型过滤,使射线透过过滤的场景模型,重新向所述虚拟场景发射。
具体的,所述计算模块503具体包括:
射线信息获取单元5031,用于获获取发生碰撞事件的射线的射线信息,并确定对应的所述虚拟场景中发生碰撞事件的位置;
信息计算单元5032,用于根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息。
具体的,所述射线信息包括射线长度,所述轨道属性信息包括轨道调整值,所述轨道生成信息包括轻轨贴地类型;所述信息计算单元5033具体用于:
判断所述射线长度是否小于所述轨道调整值;
若是,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地;
若否,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地。
具体的,所述轨道属性信息包括支撑柱填负长度,所述轨道生成信息还包括支撑柱组成数;所述信息计算单元5033具体还用于:
若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地,则将所述射线长度减去所述支撑柱填负长度得到相减结果;
将所述相减结果除以所述支撑柱单位长度,得到对应的所述虚拟场景中发生碰撞事件的位置的支撑柱组成数;
若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地,则将所述的支撑柱组成数设置为零。
具体的,所述模型编辑模块504具体包括:
样条线调整单元5041,用于基于所述轨道生成信息和所述轨道属性信息对所述基础样条线进行调整,得到轻轨样条线;
点细分单元5042,用于对所述轻轨样条线进行点细分,并计算所述轻轨样条线上各点与正下方的场景模型的距离值;
轨道形式判断单元5043,用于根据所述距离值判断所述轻轨样条线上各点对应的轨道形式;
轻轨编辑单元5044,用于根据所述轻轨样条线上各点对应的轨道形式对所述轻轨样条线进行轨道模型编辑,得到轨道模型。
具体的,所述轨道形式包括单轨道部件、转接部件和护栏轨道部件;所述轨道形式判断单元5043具体用于:
获取所述轻轨样条线上的第一点与所述第一点正下方的场景模型的第一距离值和所述轻轨样条线上的最后一点与所述最后第一点正下方的场景模型的结尾距离值;
将所述第一距离值或所述结尾距离值中小于预设的浮空阈值的距离值对应的轨道形式设置为单轨道部件;
将所述第一距离值或所述结尾距离值中大于或等于所述浮空阈值的距离值对应的轨道形式设置为护栏轨道部件;
对所述轻轨样条线上除所述第一点和所述最后一点外的剩余点进行遍历,判断各剩余点对应的距离值是否小于所述浮空阈值;
若是,则判断对应的剩余点的前后两点的距离值是否均小于所述浮空阈值;
若前后两点均小于所述浮空阈值,则将对应的剩余点的轨道形式设置为单轨道部件;
若前后两点不均小于所述浮空阈值,将对应的剩余点的轨道形式设置为转接部件;
若否,则对应的剩余点的轨道形式设置为护栏轨道部件。
具体的,所述轨道模型的生成装置还包括无碰撞模块506,所述无碰撞模块506用于:
若在所述虚拟场景中发射一条或多条射线与虚拟场景中的场景模型均不发生碰撞事件,则将所述基础样条线作为轻轨样条线,并将轻轨样条线上各点对应的轨道形式设置为单轨道部件。
具体的,所述轨道模型的生成装置还包括模型切割模块507,所述模型切割模块507具体用于:
获取所述轨道模型的曲线结构;
基于预设的切割长度,对所述曲线结构进行重采样;
根据重采样的曲线结构生成碰撞盒,并基于所述碰撞盒对所述轨道模型进行分段切割,得到轻轨片段;
对所述轻轨片段进行轴心回归,并记录所述轻轨片段在世界坐标系中的原始位置信息。
具体的,所述轨道模型的生成装置还包括模型拼接模块508,所述模型拼接模块508具体用于:
根据所述原始位置信息,对所述轻轨片段进行拼接,在所述虚拟场景中重现所述轨道模型。
本实施例在上一实施例的基础上,详细描述了各个模块的具体功能以及部分模块的单元构成,通过上述模块和模块中的各单元,用户只需要在虚拟场景中添加基础样条线并输入轨道属性信息,即可自动生成对应的轨道模型,不需要手动编辑,提高了轨道模型的生成效率。
上面图5和图6从模块化功能实体的角度对本发明实施例中的中轨道模型的生成装置进行详细描述,下面从硬件处理的角度对本发明实施例中轨道模型的生成设备进行详细描述。
图7是本发明实施例提供的一种轨道模型的生成设备的结构示意图,该轨道模型的生成设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对轨道模型的生成设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在轨道模型的生成设备700上执行存储介质730中的一系列指令操作,以实现上述轨道模型的生成方法的步骤。
轨道模型的生成设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7示出的轨道模型的生成设备结构并不构成对本发明提供的轨道模型的生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述轨道模型的生成方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种轨道模型的生成方法,其特征在于,所述轨道模型的生成方法包括:
获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;
基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;
根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;
基于所述轨道生成信息和所述轨道属性信息生成轨道模型。
2.根据权利要求1所述的轨道模型的生成方法,其特征在于,所述基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线包括:
对所述基础样条线进行特征点采样,得到所述基础样条线上的一个或多个特征点;
根据一个或多个所述特征点在所述虚拟场景中发射的一条或多条射线,并确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
3.根据权利要求2所述的轨道模型的生成方法,其特征在于,所述根据一个或多个所述特征点在所述虚拟场景中发射的一条或多条射线,并确定与所述虚拟场景中的场景模型发生碰撞事件的射线包括:
确定所述虚拟场景的世界坐标系中预设的至少一个方向矢量;
基于所述方向矢量将多个所述特征点作为射线起点在所述虚拟场景中发射一条或多条射线;
确定与所述虚拟场景中的场景模型发生碰撞事件的射线。
4.根据权利要求3所述的轨道模型的生成方法,其特征在于,在所述确定与所述虚拟场景中的场景模型发生碰撞事件的射线之后,还包括:
确定与射线发生碰撞事件的场景模型的模型类别;
根据所述模型类别,判断与射线发生碰撞事件的场景模型是否会阻挡轨道模型;
若否,则将对应的与射线发生碰撞事件的场景模型过滤,使射线透过过滤的场景模型,重新向所述虚拟场景发射。
5.根据权利要求1所述的轨道模型的生成方法,其特征在于,所述根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息包括:
获取发生碰撞事件的射线的射线信息,并确定对应的所述虚拟场景中发生碰撞事件的位置;
根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息。
6.根据权利要求5所述的轨道模型的生成方法,其特征在于,所述射线信息包括射线长度,所述轨道属性信息包括轨道调整值,所述轨道生成信息包括轻轨贴地类型;
所述根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息包括:
判断所述射线长度是否小于所述轨道调整值;
若是,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地;
若否,则对应的所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地。
7.根据权利要求6所述的轨道模型的生成方法,其特征在于,所述轨道属性信息包括支撑柱填负长度、支撑柱单位长度,所述轨道生成信息还包括支撑柱组成数;
所述根据所述射线信息和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息还包括:
若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨不贴地,则将所述射线长度减去所述支撑柱填负长度得到相减结果;
将所述相减结果除以所述支撑柱单位长度,得到对应的所述虚拟场景中发生碰撞事件的位置的支撑柱组成数;
若所述虚拟场景中发生碰撞事件的位置的所述轻轨贴地类型为轻轨贴地,则将所述的支撑柱组成数设置为零。
8.根据权利要求1所述的轨道模型的生成方法,其特征在于,所述基于所述轨道生成信息和所述轨道属性信息生成轨道模型包括:
基于所述轨道生成信息和所述轨道属性信息对所述基础样条线进行调整,得到轻轨样条线;
对所述轻轨样条线进行点细分,并计算所述轻轨样条线上各点与正下方的场景模型的距离值;
根据所述距离值判断所述轻轨样条线上各点对应的轨道形式;
根据所述轻轨样条线上各点对应的轨道形式对所述轻轨样条线进行轨道模型自动生成,得到对应的轨道模型。
9.根据权利要求8所述的轨道模型的生成方法,其特征在于,所述轨道形式包括单轨道部件、转接部件和护栏轨道部件;
所述根据所述距离值判断所述轻轨样条线上各点对应的轨道形式包括:
获取所述轻轨样条线上的第一点与所述第一点正下方的场景模型的第一距离值和所述轻轨样条线上的最后一点与所述最后第一点正下方的场景模型的结尾距离值;
将所述第一距离值或所述结尾距离值中小于预设的浮空阈值的距离值对应的轨道形式设置为单轨道部件;
将所述第一距离值或所述结尾距离值中大于或等于所述浮空阈值的距离值对应的轨道形式设置为护栏轨道部件;
对所述轻轨样条线上除所述第一点和所述最后一点外的剩余点进行遍历,判断各剩余点对应的距离值是否小于所述浮空阈值;
若是,则判断对应的剩余点的前后两点的距离值是否均小于所述浮空阈值;
若前后两点均小于所述浮空阈值,则将对应的剩余点的轨道形式设置为单轨道部件;
若前后两点不均小于所述浮空阈值,将对应的剩余点的轨道形式设置为转接部件;
若否,则对应的剩余点的轨道形式设置为护栏轨道部件。
10.根据权利要求9所述的轨道模型的生成方法,其特征在于,在所述基于所述方向矢量将多个所述特征点作为射线起点在所述虚拟场景中发射一条或多条射线之后,还包括:
若在所述虚拟场景中发射一条或多条射线与虚拟场景中的场景模型均不发生碰撞事件,则将所述基础样条线作为轻轨样条线,并将轻轨样条线上各点对应的轨道形式设置为单轨道部件。
11.根据权利要求1所述的轨道模型的生成方法,其特征在于,在所述基于所述轨道生成信息和所述轨道属性信息生成轨道模型之后,还包括:
获取所述轨道模型的曲线结构;
基于预设的切割长度,对所述曲线结构进行重采样;
根据重采样的曲线结构生成碰撞盒,并基于所述碰撞盒对所述轨道模型进行分段切割,得到轻轨片段;
对所述轻轨片段进行轴心回归,并记录所述轻轨片段在世界坐标系中的原始位置信息。
12.根据权利要求11所述的轨道模型的生成方法,其特征在于,在所述对所述轻轨片段进行轴心回归,并记录所述轻轨片段的原始位置信息之后,还包括:
根据所述原始位置信息,对所述轻轨片段进行拼接,在所述虚拟场景中重现所述轨道模型。
13.一种轨道模型的生成装置,其特征在于,所述轨道模型的生成装置包括:
获取模块,用于获取在虚拟场景配置的基础样条线和轨道属性信息,其中,所述虚拟场景中配置有场景模型;
射线检查模块,用于基于所述基础样条线,在所述虚拟场景中发射一条或多条射线,确定与所述虚拟场景中的场景模型发生碰撞事件的射线;
计算模块,用于根据发生碰撞事件的射线和所述轨道属性信息,计算所述虚拟场景中发生碰撞事件的位置的轨道生成信息;
模型编辑模块,用于基于所述轨道生成信息和所述轨道属性信息生成轨道模型。
14.一种轨道模型的生成设备,其特征在于,所述轨道模型的生成设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述轨道模型的生成设备执行如权利要求1-12中任意一项所述的轨道模型的生成方法的步骤。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-12中任意一项所述轨道模型的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601271.9A CN114470752A (zh) | 2021-12-24 | 2021-12-24 | 轨道模型的生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601271.9A CN114470752A (zh) | 2021-12-24 | 2021-12-24 | 轨道模型的生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114470752A true CN114470752A (zh) | 2022-05-13 |
Family
ID=81495930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111601271.9A Pending CN114470752A (zh) | 2021-12-24 | 2021-12-24 | 轨道模型的生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114470752A (zh) |
-
2021
- 2021-12-24 CN CN202111601271.9A patent/CN114470752A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8046204B2 (en) | Collecting and modeling object simulation data | |
CN109101690A (zh) | 用于渲染车辆自动驾驶模拟器中的场景的方法和装置 | |
US20050017971A1 (en) | Ray tracing hierarchy | |
CN109147050B (zh) | 基于Unity引擎地形系统的道路网格创建方法及装置 | |
US11069130B2 (en) | Generating three-dimensional virtual scene | |
CN110309458B (zh) | 基于WebGL的BIM模型显示及渲染方法 | |
CN110111408B (zh) | 基于图形学的大场景快速求交方法 | |
CN102509317A (zh) | 一种实时碰撞检测系统的实现方法 | |
KR20150114767A (ko) | 멀티 프레임들의 동일한 영역을 연속으로 렌더링하는 방법 및 장치 | |
CN104199659A (zh) | 一种导出3dmax可识别的模型信息的方法及装置 | |
CN111870952A (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
CN112132936A (zh) | 画面渲染方法、装置、计算机设备及存储介质 | |
CN101154293A (zh) | 图像处理方法和图像处理装置 | |
CN109801350B (zh) | 一种基于示例动画的人物运动模拟方法 | |
CN109857259B (zh) | 碰撞体交互控制方法及装置、电子设备和存储介质 | |
US8217933B2 (en) | Method and apparatus for detecting between virtual objects | |
CN105574934A (zh) | 一种基于lod绘制树模型实例的方法和装置 | |
CN114470752A (zh) | 轨道模型的生成方法、装置、设备及存储介质 | |
CN114065354B (zh) | 一种基于bim和gis的融合系统 | |
CN109101674B (zh) | 一种复杂线性模型规则化建模方法及系统 | |
CN107274468B (zh) | 一种应用于三维游戏的受风处理方法及系统 | |
CN109977628A (zh) | 一种在Unity中高效模拟激光雷达的方法 | |
KR102178243B1 (ko) | 3d cad 모델의 계층 구조 경량화 방법 및 장치 | |
CN111553987B (zh) | 一种基于海量数据的单木点云编辑方法及系统 | |
KR20170025993A (ko) | 가속 구조를 생성 및 탐색하는 방법 |
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 |