• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 18
    • 下载费用:30 金币  

    重庆时时彩平台皇冠网: 一种在游戏地图中绘制草坪的方法及系统.pdf

    关 键 词:
    一种 游戏 地图 绘制 草坪 方法 系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201611162268.0

    申请日:

    2016.12.15

    公开号:

    CN106582021A

    公开日:

    2017.04.26

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):A63F 13/55申请日:20161215|||公开
    IPC分类号: A63F13/55(2014.01)I; A63F13/60(2014.01)I; G06T13/60(2011.01)I 主分类号: A63F13/55
    申请人: 北京金山软件有限公司; 北京金山数字娱乐科技有限公司
    发明人: 邹涛
    地址: 100085 北京市海淀区小营西路33号金山软件大厦1层西区
    优先权:
    专利代理机构: 北京集佳知识产权代理有限公司 11227 代理人: 王宝筠
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201611162268.0

    授权公告号:

    ||||||

    法律状态公告日:

    2019.02.12|||2017.05.24|||2017.04.26

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种在游戏地图中绘制草坪的方法,包括:根据为预先划分的草地小块预设的草的分布密度,从所述草地小块中选取每颗草的绘制位置;根据所述草地小块的周围物体,从为草预设的各个属性值范围内,为所述绘制位置上的一颗草分别选取一个属性值;根据所述绘制位置与所述属性值,在预置的粒子系统中生成一粒子草,并计算所述粒子草的轮廓数据;根据所述粒子草的轮廓数据在所述绘制位置绘制一颗草。本发明还提供了一种在游戏地图中绘制草坪的系统。

    权利要求书

    1.一种在游戏地图中绘制草坪的方法,其特征在于,包括:
    根据为预先划分的草地小块预设的草的分布密度,从所述草地小块中选取每颗草的绘
    制位置;根据所述草地小块的周围物体,从为草预设的各个属性值范围内,为所述绘制位置
    上的一颗草分别选取一个属性值;
    根据所述绘制位置与所述属性值,在预置的粒子系统中生成一粒子草,并计算所述粒
    子草的轮廓数据;
    根据所述粒子草的轮廓数据在所述绘制位置绘制一颗草。
    2.根据权利要求1所述的方法,其特征在于,所述属性值包括高度值和胖瘦值,所述根
    据所述草地小块的周围物体,从为草预设的各个属性值范围内,为所述绘制位置上的草分
    别选取一个属性值,包括:
    若所述草地小块的周围物体中有区别于草类的植物,则从为草预设的高度范围内选取
    一个小于该植物高度的高度值,若所述草地小块的周围物体中没有区别于草类的植物,则
    从为草预设的高度范围内随机选取一个高度值;
    从为草预设的胖瘦范围内选取一个适应该高度值的胖瘦值。
    3.根据权利要求1所述的方法,其特征在于,所述粒子草对应有一唯一标识,所述草地
    小块与所述粒子草之间具有对应关系;所述方法还包括:
    判断所述草地小块是否需要重新显示在游戏地图的可视区域内;
    若是,则根据与所述草地小块具有对应关系的所述粒子草的标识,从所述粒子系统中
    提取所述粒子草,并计算所述粒子草的轮廓数据;
    根据所述粒子草的轮廓数据在所述绘制位置绘制一颗草。
    4.根据权利要求1至3任一项所述的方法,其特征在于,所述在预置的粒子系统中生成
    一粒子草之后,还包括:
    判断当前是否要绘制摆动状态下的草;
    若是,则随机从各个扰动参数分别对应的预设参数范围内选取一个参数值,所述各个
    扰动参数包括扰动半径、扰动初始角和扰动增量,根据所选取的参数值计算所述粒子草的
    轮廓数据,且根据该轮廓数据在所述绘制位置绘制摆动状态下的一颗草。
    5.根据权利要求1至3任一项所述的方法,其特征在于,所述在预置的粒子系统中生成
    粒子草之后,还包括:
    判断当前是否要绘制受到外力作用下的草;
    若是,则确定所述粒子草的受力点在所述外力作用下移动的第一总位移,所述第一总
    位移对应有一个用于完成所述第一总位移的第一预设总步数,所述第一预设总步数包括至
    少一个移动分步,确定所述受力点在当前移动分步中向受力方向移动的第一距离,计算所
    述粒子草在移动所述第一距离后的轮廓数据,并根据该轮廓数据在所述绘制位置绘制一颗
    草;
    若否,则判断当前是否要绘制受力恢复后的草;如果是,根据预设的第二总位移以及用
    于完成所述第二总位移的第二预设总步数,所述第二预设总步数包括至少一个移动分步,
    确定所述受力点在当前移动分步中向受力相反方向移动的第二距离,计算所述粒子草在移
    动所述第二距离后的轮廓数据,并根据该轮廓数据在所述绘制位置绘制一颗草。
    6.根据权利要求5所述的方法,其特征在于,所述确定所述粒子草的受力点在所述外力
    作用下移动的第一总位移,包括:
    确定所述粒子草的受力点在预设受力大小下的合力;
    利用弹力公式计算所述受力点在所述合力作用下的第一总位移;
    相应的,所述确定所述受力点在当前移动分步中向受力方向移动的第一距离,包括:
    采用线性插值法计算所述受力点在当前移动分步中向受力方向移动的第一距离。
    7.一种在游戏地图中绘制草坪的系统,其特征在于,包括:
    位置选取单元,用于根据为预先划分的草地小块预设的草的分布密度,从所述草地小
    块中选取每颗草的绘制位置;
    属性选取单元,用于根据所述草地小块的周围物体,从为草预设的各个属性值范围内,
    为所述位置选取单元选取的绘制位置上的一颗草分别选取一个属性值;
    粒子草生成单元,用于根据所述位置选取单元选取的绘制位置与所述属性选取单元选
    取的属性值,在预置的粒子系统中生成一粒子草,并计算所述粒子草的轮廓数据;
    静止草绘制单元,用于根据所述粒子草生成单元计算得到的轮廓数据在所述绘制位置
    绘制一颗草。
    8.根据权利要求7所述的系统,其特征在于,所述属性值包括高度值和胖瘦值,所述属
    性选取单元,包括:
    高度值选取???,用于若所述草地小块的周围物体中有区别于草类的植物,则从为草
    预设的高度范围内选取一个小于该植物高度的高度值,若所述草地小块的周围物体中没有
    区别于草类的植物,则从为草预设的高度范围内随机选取一个高度值;
    胖瘦值选取???,用于从为草预设的胖瘦范围内选取一个适应所述高度值选取??檠?br />取的高度值的胖瘦值。
    9.根据权利要求7或8所述的系统,其特征在于,所述系统还包括:
    摆动判断单元,用于在所述粒子草生成单元在预置的粒子系统中生成一粒子草之后,
    判断当前是否要绘制摆动状态下的草;
    摆动草绘制单元,用于若所述摆动判断单元的判断结果为是,则随机从各个扰动参数
    分别对应的预设参数范围内选取一个参数值,所述各个扰动参数包括扰动半径、扰动初始
    角和扰动增量,根据所选取的参数值计算所述粒子草的轮廓数据,且根据该轮廓数据在所
    述绘制位置绘制摆动状态下的一颗草。
    10.根据权利要求7或8所述的系统,其特征在于,所述系统还包括:
    外力判断单元,用于在所述粒子草生成单元在预置的粒子系统中生成粒子草之后,判
    断当前是否要绘制受到外力作用下的草;
    受力草绘制单元,用于若所述外力判断单元的判断结果为是,则确定所述粒子草的受
    力点在所述外力作用下移动的第一总位移,所述第一总位移对应有一个用于完成所述第一
    总位移的第一预设总步数,所述第一预设总步数包括至少一个移动分步,确定所述受力点
    在当前移动分步中向受力方向移动的第一距离,计算所述粒子草在移动所述第一距离后的
    轮廓数据,并根据该轮廓数据在所述绘制位置绘制一颗草;
    恢复草绘制单元,用于若所述外力判断单元的判断结果为否,则判断当前是否要绘制
    受力恢复后的草;如果是,根据预设的第二总位移以及用于完成所述第二总位移的第二预
    设总步数,所述第二预设总步数包括至少一个移动分步,确定所述受力点在当前移动分步
    中向受力相反方向移动的第二距离,计算所述粒子草在移动所述第二距离后的轮廓数据,
    并根据该轮廓数据在所述绘制位置绘制一颗草。

    说明书

    一种在游戏地图中绘制草坪的方法及系统

    技术领域

    本发明涉及绘图技术领域,尤其涉及一种在游戏地图中绘制草坪的方法及系统。

    背景技术

    在3D(三维图形)游戏的室外场景中,经?;嵝枰萜旱某【耙苑岣挥蜗分械幕?br />境,增加对用户的视觉吸引力。目前,3D游戏室外场景中使用的草丛多是以模型的方式进行
    管理和绘制的,美工通过画图工具设计每颗草的模型,并且,美工在设计地图的时候,还要
    预先设计每一颗模型草在地图上放置的位置等,在游戏的过程中,当需要绘制一颗草时,系
    统针对预先由美工设计好的模型草获得该模型草的各顶点数据,根据该数据逐一进行绘
    制。

    上述方法中,由于系统在对草进行绘制时,仅能根据美工预先设计好的模型草以
    及预先指定每颗草的具体放置的位置绘制每一颗草,若要绘制大片的草坪时,就需要逐一
    绘制每颗草的模型,这需要花费大量的人力物力预先绘制模型,不但会因人工介入降低绘
    制草坪的效率,还会占用系统的大量资源进行模型存储。

    发明内容

    有鉴于此,本发明实施例的主要目的在于提供一种在游戏地图中绘制草坪的方法
    及系统,可以在提高草坪的绘制效率的同时,还能降低系统的资源占用。

    为实现上述目的,本发明实施例提供了一种在游戏地图中绘制草坪的方法,包括:

    根据为预先划分的草地小块预设的草的分布密度,从所述草地小块中选取每颗草
    的绘制位置;根据所述草地小块的周围物体,从为草预设的各个属性值范围内,为所述绘制
    位置上的一颗草分别选取一个属性值;

    根据所述绘制位置与所述属性值,在预置的粒子系统中生成一粒子草,并计算所
    述粒子草的轮廓数据;

    根据所述粒子草的轮廓数据在所述绘制位置绘制一颗草。

    可选的,所述属性值包括高度值和胖瘦值,所述根据所述草地小块的周围物体,从
    为草预设的各个属性值范围内,为所述绘制位置上的草分别选取一个属性值,包括:

    若所述草地小块的周围物体中有区别于草类的植物,则从为草预设的高度范围内
    选取一个小于该植物高度的高度值,若所述草地小块的周围物体中没有区别于草类的植
    物,则从为草预设的高度范围内随机选取一个高度值;

    从为草预设的胖瘦范围内选取一个适应该高度值的胖瘦值。

    可选的,所述粒子草对应有一唯一标识,所述草地小块与所述粒子草之间具有对
    应关系;所述方法还包括:

    判断所述草地小块是否需要重新显示在游戏地图的可视区域内;

    若是,则根据与所述草地小块具有对应关系的所述粒子草的标识,从所述粒子系
    统中提取所述粒子草,并计算所述粒子草的轮廓数据;

    根据所述粒子草的轮廓数据在所述绘制位置绘制一颗草。

    可选的,所述在预置的粒子系统中生成一粒子草之后,还包括:

    判断当前是否要绘制摆动状态下的草;

    若是,则随机从各个扰动参数分别对应的预设参数范围内选取一个参数值,所述
    各个扰动参数包括扰动半径、扰动初始角和扰动增量,根据所选取的参数值计算所述粒子
    草的轮廓数据,且根据该轮廓数据在所述绘制位置绘制摆动状态下的一颗草。

    可选的,所述在预置的粒子系统中生成粒子草之后,还包括:

    判断当前是否要绘制受到外力作用下的草;

    若是,则确定所述粒子草的受力点在所述外力作用下移动的第一总位移,所述第
    一总位移对应有一个用于完成所述第一总位移的第一预设总步数,所述第一预设总步数包
    括至少一个移动分步,确定所述受力点在当前移动分步中向受力方向移动的第一距离,计
    算所述粒子草在移动所述第一距离后的轮廓数据,并根据该轮廓数据在所述绘制位置绘制
    一颗草;

    若否,则判断当前是否要绘制受力恢复后的草;如果是,根据预设的第二总位移以
    及用于完成所述第二总位移的第二预设总步数,所述第二预设总步数包括至少一个移动分
    步,确定所述受力点在当前移动分步中向受力相反方向移动的第二距离,计算所述粒子草
    在移动所述第二距离后的轮廓数据,并根据该轮廓数据在所述绘制位置绘制一颗草。

    可选的所述确定所述粒子草的受力点在所述外力作用下移动的第一总位移,包
    括:

    确定所述粒子草的受力点在预设受力大小下的合力;

    利用弹力公式计算所述受力点在所述合力作用下的第一总位移;

    相应的,所述确定所述受力点在当前移动分步中向受力方向移动的第一距离,包
    括:

    采用线性插值法计算所述受力点在当前移动分步中向受力方向移动的第一距离。

    本发明实施例还提供了一种在游戏地图中绘制草坪的系统,包括:

    位置选取单元,用于根据为预先划分的草地小块预设的草的分布密度,从所述草
    地小块中选取每颗草的绘制位置;

    属性选取单元,用于根据所述草地小块的周围物体,从为草预设的各个属性值范
    围内,为所述位置选取单元选取的绘制位置上的一颗草分别选取一个属性值;

    粒子草生成单元,用于根据所述位置选取单元选取的绘制位置与所述属性选取单
    元选取的属性值,在预置的粒子系统中生成一粒子草,并计算所述粒子草的轮廓数据;

    静止草绘制单元,用于根据所述粒子草生成单元计算得到的轮廓数据在所述绘制
    位置绘制一颗草。

    可选的,所述属性值包括高度值和胖瘦值,所述属性选取单元,包括:

    高度值选取???,用于若所述草地小块的周围物体中有区别于草类的植物,则从
    为草预设的高度范围内选取一个小于该植物高度的高度值,若所述草地小块的周围物体中
    没有区别于草类的植物,则从为草预设的高度范围内随机选取一个高度值;

    胖瘦值选取???,用于从为草预设的胖瘦范围内选取一个适应所述高度值选取模
    块选取的高度值的胖瘦值。

    可选的,所述系统还包括:

    摆动判断单元,用于在所述粒子草生成单元在预置的粒子系统中生成一粒子草之
    后,判断当前是否要绘制摆动状态下的草;

    摆动草绘制单元,用于若所述摆动判断单元的判断结果为是,则随机从各个扰动
    参数分别对应的预设参数范围内选取一个参数值,所述各个扰动参数包括扰动半径、扰动
    初始角和扰动增量,根据所选取的参数值计算所述粒子草的轮廓数据,且根据该轮廓数据
    在所述绘制位置绘制摆动状态下的一颗草。

    可选的,所述系统还包括:

    外力判断单元,用于在所述粒子草生成单元在预置的粒子系统中生成粒子草之
    后,判断当前是否要绘制受到外力作用下的草;

    受力草绘制单元,用于若所述外力判断单元的判断结果为是,则确定所述粒子草
    的受力点在所述外力作用下移动的第一总位移,所述第一总位移对应有一个用于完成所述
    第一总位移的第一预设总步数,所述第一预设总步数包括至少一个移动分步,确定所述受
    力点在当前移动分步中向受力方向移动的第一距离,计算所述粒子草在移动所述第一距离
    后的轮廓数据,并根据该轮廓数据在所述绘制位置绘制一颗草;

    恢复草绘制单元,用于若所述外力判断单元的判断结果为否,则判断当前是否要
    绘制受力恢复后的草;如果是,根据预设的第二总位移以及用于完成所述第二总位移的第
    二预设总步数,所述第二预设总步数包括至少一个移动分步,确定所述受力点在当前移动
    分步中向受力相反方向移动的第二距离,计算所述粒子草在移动所述第二距离后的轮廓数
    据,并根据该轮廓数据在所述绘制位置绘制一颗草。

    本发明实施例提供的在游戏地图中绘制草坪的方法及系统,通过生成粒子草,根
    据粒子草的轮廓信息绘制出一颗草,可以自动绘制粒子草,与现有技术中通过美工预先设
    计的模型草来绘制一颗草相比,减少了人工的介入,不仅提高了绘制草坪的效率,同时还减
    少了系统的资源占用。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
    有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明
    的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
    这些附图获得其他的附图。

    图1为本发明实施例一提供的在游戏地图中绘制草坪的方法的流程示意图;

    图2为本发明实施例二提供的在游戏地图中绘制草坪的方法的流程示意图;

    图3为本发明实施例三提供的在游戏地图中绘制草坪的方法的流程示意图;

    图4为本发明实施例四提供的在游戏地图中绘制草坪的方法的流程示意图;

    图5为本发明实施例提供的在游戏地图中绘制草坪的系统的组成示意图。

    具体实施方式

    为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
    中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
    本发明一部分实施例,而不是全部的实施例?;诒痉⒚髦械氖凳├?,本领域普通技术人员
    在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明?;さ姆段?。

    本发明提供的在游戏地图中绘制草坪的方法及装置,是在预置的粒子系统中生成
    每个粒子时,从预置的代表每颗草的属性值的范围中,如高矮胖瘦的属性值范围中分别选
    取一个属性值,并按照预置的草的分布密度,在预先划分的草地小块中选取一位置值生成
    粒子,作为粒子草,计算出所生成的粒子草的各个顶点的数据信息,根据该数据信息绘制出
    一颗草。系统初始化时,以草的类型为单位,将具有相同属性的草作为一个集合,创建多个
    不同类型的草的粒子系统。

    实施例一

    参见图1,为本发明实施例一提供的在游戏地图中绘制草坪的方法的流程示意图,
    该方法包括:

    步骤101:根据为预先划分的草地小块预设的草的分布密度,从所述草地小块中选
    取每颗草的绘制位置。

    在本发明实施例中,所述草的分布密度为预先设置的,在设计游戏地图时,将游戏
    地图中需要显示草坪的区域作为一个分布区域,每个区域又划分为多个网格,每个网格作
    为一个草地小块,系统为这样的草地小块设置一个分布密度,记录该草地的长宽大小。

    从草地小块中选取多个绘制位置,用于在每个绘制位置绘制一颗草,且这些绘制
    位置上的草的密度即为预设的草的分布密度。

    步骤102:根据所述草地小块的周围物体,从为草预设的各个属性值范围内,为所
    述绘制位置上的一颗草分别选取一个属性值。

    在本发明实施例中,可以为草的属性,如能体现草的高矮胖瘦的属性值,分别设置
    一个范围,在生成一颗草之前,可以从这些属性值范围中随机选取一个属性值,以体现每颗
    草区别于其他草的特点,从而可以显示逼真的草坪。

    在一些实施方式中,当所述属性值包括高度值和胖瘦值时,步骤102可以包括步骤
    A1和步骤A2:

    步骤A1:若所述草地小块的周围物体中有区别于草类的植物,则从为草预设的高
    度范围内选取一个小于该植物高度的高度值,若所述草地小块的周围物体中没有区别于草
    类的植物,则从为草预设的高度范围内随机选取一个高度值。

    在这种实施方式中,首先获取所述草地小块在游戏地图中的位置,然后确定该草
    地小块的周围物体有哪些。例如,可以以所述草地小块为中心选取一个比该草地小块更大
    的区域范围,判断该区域范围内的草地小块之外的位置上,是否有区别于草的其它植物,比
    如树木,在这种情况下,因为树木周边的草是比较矮小的,这样可以与高大的树木形成鲜明
    的视觉差,达到在游戏地图中同时突显树木和草坪的目的,使得游戏地图中的画面感更加
    分明。因此,可以从为草设置的高度范围内,为一绘制位置上的草选取一个高度值,该高度
    值要小于其周边的树木的高度值,以使草的高度与树木的高度之间有明显的高度差。

    若选取的区域范围内的周围物体中没有区别于草的植物时,比如所述周围物体包
    括道路时,或者,周围物体为空时,则不需要对草的高度进行限制,这种情况下,可以从为草
    设置的高度范围内,为该绘制位置上的草随机选取一个高度值。

    步骤A2:从为草预设的胖瘦范围内选取一个适应该高度值的胖瘦值。

    然后,再从为草设置的胖瘦范围内为上述绘制位置上的草选取一个胖瘦值,使得
    该胖瘦值要与步骤A1中选取的高度值相适应,即使得草的高度和宽度尽量符合实际的草的
    比例。例如,一般情况下,生长的越高的草其体积也就越大,因此草的高度与体积可以成正
    比关系,即,草的高度值越高,相应的胖瘦值越大。

    需要说明的是,关于步骤101与步骤102,不限定二者之间的先后顺序。

    步骤103:根据所述绘制位置与所述属性值,在预置的粒子系统中生成一粒子草,
    并计算所述粒子草的轮廓数据。

    本发明实施例中,在设计游戏地图时,将游戏地图中需要显示草坪的区域作为一
    个分布区域,并为这个分布区域分配一个类型草的粒子系统,所述粒子系统是在系统初始
    化时,以草的类型为单位,将具有相同属性的草作为一个集合所创建的具有多个不同类型
    的草的粒子系统,系统在初始化时,还为粒子系统中所有粒子提供共同的属性参数。其中,
    所述粒子草为粒子系统中的每个粒子。

    一个粒子系统中所有粒子拥有一个相同的属性集合,但每个粒子都需要一些特殊
    属性来使其区别于其他的粒子,因此,为了能够显示效果逼真的草坪,在预置的粒子系统中
    生成粒子草的时候,将粒子系统所提供的所有粒子的共同参数,与所选取的每个粒子草的
    高矮胖瘦等特性参数相结合,并根据所选取的草的绘制位置,计算出一个粒子草的轮廓数
    据信息,即计算出一个粒子草各个顶点的数据信息。

    进一步地,系统在创建粒子系统时,会分配一块用于存储粒子系统的内存空间,在
    创建一颗粒子草时,当所分配的内存空间不足以创建该粒子草时,就根据最久未使用原则
    删除最久未使用的粒子草。

    步骤104:根据所述粒子草的轮廓数据在所述绘制位置绘制一颗草。

    所述粒子草的轮廓数据即为粒子草的各个顶点数据信息,如果绘制的是三维草,
    则所述轮廓数据即为三维的顶点数据信息。

    在上述本发明实施例提供的绘制草坪的方法中,通过生成粒子草,根据粒子草的
    轮廓信息绘制出一颗草,可以自动绘制粒子草,与现有技术中通过美工预先设计的模型草
    来绘制一颗草相比,减少了人工的介入,省时省力,提高了绘制草坪的效率,减少了系统的
    资源占用。

    实施例二

    在实施例二中,当在粒子系统中生成粒子草后,为粒子系统中的每个粒子草设置
    一个标识,同时记录每个粒子草与草地小块的对应关系,当用户离开草地小块后,又重新返
    回该草地小块时,可以根据粒子草的标识,直接从所属的粒子系统中取出草地小块的粒子
    草,而无需重新生成粒子草。需要说明的是,本实施例二是在实施例一的基础上给出的实施
    例,相关之处请参见实施例一的相关介绍。

    参见图2,为本发明实施例二提供的在游戏地图中绘制草坪的方法的流程示意图,
    该方法包括:

    步骤201:根据为预先划分的草地小块预设的草的分布密度,从所述草地小块中选
    取每颗草的绘制位置。

    步骤202:根据所述草地小块的周围物体,从为草预设的各个属性值范围内,为所
    述绘制位置上的草分别选取一个属性值。

    步骤203:根据所述绘制位置与所述属性值,在预置的粒子系统中生成一粒子草,
    并计算所述粒子草的轮廓数据。

    在本发明实施例中,在当前的粒子系统中生成粒子草后,还为该粒子草设置唯一
    标识,并记录该粒子草与预先划分的草地小块的对应关系,即,使得所述粒子草对应有一唯
    一标识,使得所述草地小块与所述粒子草之间具有对应关系。

    步骤204:根据所述粒子草的轮廓数据在所述绘制位置绘制一颗草。

    步骤205:判断所述草地小块是否需要重新显示在游戏地图的可视区域内,如果
    是,则根据与所述草地小块具有对应关系的所述粒子草的标识,从所述粒子系统中提取所
    述粒子草,并计算所述粒子草的轮廓数据。

    通常情况下,游戏玩家在游戏过程中,经?;峄氐街跋允竟挠蜗坊?,比如,
    当所述草地小块离开可视区域后又重新进入时,系统需要重新绘制所述草地小块中的草,
    由于粒子系统中已经存储有所述草地小块中的粒子草,因此可以直接从粒子系统中提取粒
    子草,具体地,根据所述草地小块与属于所述草地小块的各个粒子草之间对应关系,具体是
    对所述草地小块的标识与各个粒子草的标识建立对应关系,根据该对应关系,便可获取所
    述草地小块中各个粒子草的标识,进而可以根据粒子草标识从粒子系统中取出与该标识对
    应的粒子草。

    步骤206:根据所述粒子草的轮廓数据在所述绘制位置绘制一颗草。

    在本实施例中,由于可以直接从所属的粒子系统中取出粒子草,而无需重新生成
    粒子草,因此与实施例一相比,就更进一步的提高了绘制草坪的效率,且减少了系统的资源
    占用。

    实施例三

    在实施例三中,为了使草的显示效果更加逼真,可以使每一颗草在没有明显外力
    影响下都有一个自己的摆动,因此,本实施例三在实施例一或实施例二的基础之上还实现
    了每颗草的自然摆动。需要说明的是,本实施例三是在实施例一或实施例二的基础上给出
    的实施例,相关之处请参见实施例一或实施例二的相关介绍。

    参见图3,为本发明实施例三提供的在游戏地图中绘制草坪的方法的流程示意图,
    该方法包括:

    步骤301:根据为预先划分的草地小块预设的草的分布密度,从所述草地小块中选
    取每颗草的绘制位置。

    步骤302:根据所述草地小块的周围物体,从为草预设的各个属性值范围内,为所
    述绘制位置上的草分别选取一个属性值。

    步骤303:根据所述绘制位置与所述属性值,在预置的粒子系统中生成一粒子草。

    步骤304:判断当前是否要绘制摆动状态下的草,若是,则执行步骤305,若否,则执
    行步骤306。

    可以预先设置一个对应草地小块的摆动特征参数,该摆动特征参数表示草地小块
    上的草是否需要自然摆动,例如,参数为1表示该草地小块中的草需要自然摆动,参数为0表
    示该草地小块中的草不需要自然摆动,以此来区分哪些草地小块需要自然摆动哪些草地小
    块不需要自然摆动,进一步地,再为每一颗草设置摆动特征参数,例如,参数为1表示草需要
    自然摆动,参数为0表示草不需要自然摆动,用于区分需要摆动的草地小块中哪些草需要自
    然摆动哪些草不需要自然摆动,如果摆动特征参数表示当前绘制的草地小块中的某颗草需
    要自然摆动,则执行步骤305,如果否,则执行步骤306。

    步骤305:随机从各个扰动参数分别对应的预设参数范围内选取一个参数值,所述
    各个扰动参数包括扰动半径、扰动初始角和扰动增量,根据所选取的参数值计算所述粒子
    草的轮廓数据,且根据该轮廓数据在所述绘制位置绘制摆动状态下的一颗草。

    在本实施例中,扰动半径、扰动初始角以及扰动增量分别对应一个预置的参数范
    围,可以从这三个参数范围内分别随机选取一个参数,利用所选取的参数计算粒子草的轮
    廓数据信息,具体计算粒子草每个顶点数据信息(x,y);

    具体地,粒子草的顶点数据信息通过以下公式计算获得:

    x=x1+R×sin(P+A),y=y1+R×cos(P+A);

    其中,x1、y1为粒子草的一个顶点在没有自然摆动的情况下的位置信息,R为扰动
    半径,P为扰动初始角,A为扰动增量。

    步骤306:计算所述粒子草的轮廓数据,根据所述粒子草的轮廓数据在所述绘制位
    置绘制一颗草。

    实施例四

    本实施例四是在实施例一至实施例三所提供的任一实施例的基础之上,实现所绘
    制的草在受外力影响下的摆动,使得草在外力作用下的显示效果更加逼真。需要说明的是,
    本实施例四是在实施例一或实施例二或实施例三的基础上给出的实施例,相关之处请参见
    实施例一或实施例二或实施例三的相关介绍。

    参见图4,为本发明实施例四提供的在游戏地图中绘制草坪的方法的流程示意图,
    该方法包括:

    步骤401:根据为预先划分的草地小块预设的草的分布密度,从所述草地小块中选
    取每颗草的绘制位置。

    步骤402:根据所述草地小块的周围物体,从为草预设的各个属性值范围内,为所
    述绘制位置上的草分别选取一个属性值。

    步骤403:根据所述绘制位置与所述属性值,在预置的粒子系统中生成一粒子草。

    步骤404:判断当前是否要绘制受到外力作用下的草,若是,则执行步骤405,若否,
    则执行步骤406。

    可以预先设置一个对应草地小块的外力特征参数,该外力特征参数表示草地小块
    上的草是否受外力作用下而摆动,例如,参数为1表示该草地小块中的草需受外力作用下而
    摆动,参数为0表示该草地小块中的草不需要受外力作用下而摆动,以此来区分哪些草地小
    块需要受外力作用而摆动、哪些草地小块不需要受外力作用而摆动,进一步地,再为每一颗
    草设置外力特征参数,例如,参数为1表示草需要受外力作用下而摆动,参数为0表示草不需
    要受外力作用下而摆动,用于区分需要受外力摆动的草地小块中哪些草需要受外力作用而
    摆动、哪些草不需要受外力作用而摆动,如果外力特征参数表示当前需要绘制的草地小块
    中的某颗草需要受外力作用下而摆动,则执行步骤405,如果否,则执行步骤406。

    步骤405:确定所述粒子草的受力点在所述外力作用下移动的第一总位移,所述第
    一总位移对应有一个用于完成所述第一总位移的第一预设总步数,所述第一预设总步数包
    括至少一个移动分步,确定所述受力点在当前移动分步中向受力方向移动的第一距离,计
    算所述粒子草在移动所述第一距离后的轮廓数据,并根据该轮廓数据在所述绘制位置绘制
    一颗草。

    在本发明实施例中,所述第一预设总步数是指预置的粒子草受力点分多少步完成
    所述第一总位移,所述第一预设总步数可以包括一个或多个移动分步,所述粒子草受力点
    在外力作用下的第一总位移分成这多个分步完成移动,当粒子草的状态为受外力影响时,
    根据第一总位移与预置的第一预设总步数,确定粒子草受力点在每一分步中对应的位移,
    并计算出粒子草受力点移动每一分步位移后的轮廓数据即粒子草各个顶点新的数据信息,
    按照预设的显示间隔,依次在游戏地图中绘制每一分步移动后的草。

    在一些实施方式中,步骤405中确定所述粒子草的受力点在所述外力作用下移动
    的第一总位移,可以包括:确定所述粒子草的受力点在预设受力大小下的合力,利用弹力公
    式计算所述受力点在所述合力作用下的第一总位移。在这种实施方式中,通过预置的力的
    大小获得粒子草受力点的合力,并计算得到该受力点需移动的第一总位移,其中,所述第一
    总位移,根据弹力公式计算得到。

    在一些实施方式中,步骤405中确定所述受力点在当前移动分步中向受力方向移
    动的第一距离,可以包括:采用线性插值法计算所述受力点在当前移动分步中向受力方向
    移动的第一距离。在这种实施方式中,是根据预置分步数,按照线性插值给出每步的位移。

    步骤406:判断当前是否要绘制受力恢复后的草,如果是,则执行步骤407,如果否,
    则执行步骤408。

    在绘制不受外力作用下的草时,不受外力的草有两种状态,一种是受外力后进行
    状态恢复过程中的草,一种是没有受外力处于静止状态下的草,如果当前绘制的草是前一
    状态,则执行步骤407,如果当前绘制的草是后一状态,则执行步骤408。

    步骤407:根据预设的第二总位移以及用于完成所述第二总位移的第二预设总步
    数,所述第二预设总步数包括至少一个移动分步,确定所述受力点在当前移动分步中向受
    力相反方向移动的第二距离,计算所述粒子草在移动所述第二距离后的轮廓数据,并根据
    该轮廓数据在所述绘制位置绘制一颗草。

    在本发明实施例中,所述第二预设总步数可以与所述第一预设总步数相同,所述
    第二预设总步数包一个或多个移动分步,可以人为规定每一移动分步移动的位移比例。

    在执行完步骤405中的计算所述粒子草在移动所述第一距离后的轮廓数据后,为
    粒子草当前受力点受力后移动位移后的状态配置一受力移动分步标志。当粒子草的状态为
    不受外力影响时,根据各个受力移动分步标志判断得到每一分步状态是否为受力恢复分
    步,如果是,则根据第二总位移和第二预设总步数,确定粒子草受力点在每一分步中恢复的
    位移,并计算出粒子草受力点恢复每一分步位移后的轮廓数据即粒子草各个顶点新的数据
    信息,按照预设的显示间隔,依次在游戏地图中绘制每一分步移动后的草。

    步骤408:计算所述粒子草的轮廓数据,根据所述粒子草的轮廓数据在所述绘制位
    置绘制一颗草。

    参见图5,为本发明实施例提供的在游戏地图中绘制草坪的系统的组成示意图,该
    系统包括:

    位置选取单元501,用于根据为预先划分的草地小块预设的草的分布密度,从所述
    草地小块中选取每颗草的绘制位置;

    属性选取单元502,用于根据所述草地小块的周围物体,从为草预设的各个属性值
    范围内,为所述位置选取单元501选取的绘制位置上的草分别选取一个属性值;

    粒子草生成单元503,用于根据所述位置选取单元501选取的绘制位置与所述属性
    选取单元502选取的属性值,在预置的粒子系统中生成一粒子草,并计算所述粒子草的轮廓
    数据;

    静止草绘制单元504,用于根据所述粒子草生成单元503计算得到的轮廓数据在所
    述绘制位置绘制一颗草。

    在一些实施方式中,所述属性选取单元502,包括:

    高度值选取???,用于若所述草地小块的周围物体中有区别于草类的植物,则从
    为草预设的高度范围内选取一个小于该植物高度的高度值,若所述草地小块的周围物体中
    没有区别于草类的植物,则从为草预设的高度范围内随机选取一个高度值;

    胖瘦值选取???,用于从为草预设的胖瘦范围内选取一个适应所述高度值选取模
    块选取的高度值的胖瘦值。

    在一些实施方式中,所述粒子草对应有一唯一标识,所述草地小块与所述粒子草
    之间具有对应关系;所述系统还包括:

    重绘判断单元,用于判断所述草地小块是否需要重新显示在游戏地图的可视区域
    内;

    粒子草提取单元,用于当所述草地小块需要重新显示在游戏地图的可视区域内
    时,根据与所述草地小块具有对应关系的所述粒子草的标识,从所述粒子系统中提取所述
    粒子草,并计算所述粒子草的轮廓数据;

    静止草重绘单元,用于根据所述粒子草提取单元计算得到的轮廓数据在所述绘制
    位置绘制一颗草。

    在一些实施方式中,所述系统还包括:

    摆动判断单元,用于在所述粒子草生成单元503在预置的粒子系统中生成一粒子
    草之后,判断当前是否要绘制摆动状态下的草;

    摆动草绘制单元,用于若所述摆动判断单元的判断结果为是,则随机从各个扰动
    参数分别对应的预设参数范围内选取一个参数值,所述各个扰动参数包括扰动半径、扰动
    初始角和扰动增量,根据所选取的参数值计算所述粒子草的轮廓数据,且根据该轮廓数据
    在所述绘制位置绘制摆动状态下的一颗草;若所述摆动判断单元的判断结果为否,则利用
    所述粒子草生成单元503实现所述计算所述粒子草的轮廓数据的功能。

    在一些实施方式中,所述系统还包括:

    外力判断单元,用于在所述粒子草生成单元503在预置的粒子系统中生成粒子草
    之后,判断当前是否要绘制受到外力作用下的草;

    受力草绘制单元,用于若所述外力判断单元的判断结果为是,则确定所述粒子草
    的受力点在所述外力作用下移动的第一总位移,所述第一总位移对应有一个用于完成所述
    第一总位移的第一预设总步数,所述第一预设总步数包括至少一个移动分步,确定所述受
    力点在当前移动分步中向受力方向移动的第一距离,计算所述粒子草在移动所述第一距离
    后的轮廓数据,并根据该轮廓数据在所述绘制位置绘制一颗草;

    恢复草绘制单元,用于若所述外力判断单元的判断结果为否,则判断当前是否要
    绘制受力恢复后的草;如果是,根据预设的第二总位移以及用于完成所述第二总位移的第
    二预设总步数,所述第二预设总步数包括至少一个移动分步,确定所述受力点在当前移动
    分步中向受力相反方向移动的第二距离,计算所述粒子草在移动所述第二距离后的轮廓数
    据,并根据该轮廓数据在所述绘制位置绘制一颗草;如果否,则利用所述粒子草生成单元
    503实现所述计算所述粒子草的轮廓数据的功能。

    在一些实施方式中,所述受力草绘制单元包括:

    总位移计算???,用于确定所述粒子草的受力点在预设受力大小下的合力,利用
    弹力公式计算所述受力点在所述合力作用下的第一总位移;

    分步位移计算???,用于采用线性插值法计算所述受力点在当前移动分步中向受
    力方向移动的第一距离。

    通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施
    例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现?;谡庋?br />理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式
    体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干
    指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信
    设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。

    需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说
    明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实
    施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处
    参见方法部分说明即可。

    还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个
    实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间
    存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵
    盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
    素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
    所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在
    包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

    对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。
    对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的
    一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
    将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
    致的最宽的范围。

    关于本文
    本文标题:一种在游戏地图中绘制草坪的方法及系统.pdf
    链接地址://www.4mum.com.cn/p-6038331.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 456棋牌游戏至尊 北京十一选五开奖彩票控 极速快3大小怎么买 体彩新疆十一选五开奖走势图 新浪棋牌游戏下载 双色球复式中奖计算表 浙江6十1开奖号码查询 江苏11选5前三计划 2012长线股票推荐 下载辽宁十一选五走势图表 足球现场文字直播 大乐透走势图带坐标连线 斗地主棋牌游mx47典 cn戏 福利历史开奖号码查询结果 福彩幸运农场开奖走势图 2019最正规棋牌游戏有哪些