Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(196评价)
价格: 4019.00元
怎么实现这个效果?
兼爱非攻发起了问答2017-08-31
16
回复
404
浏览

一款生存游戏,想实现这个效果,也就是在建造的时候在角色周边一定范围内出现如图的表格:

透明表示该区域块没阻挡可以放置对象(这个判断都不难),想问的是这样一个表格如何覆盖在地形上,并且根据地形变化还需根据该地域内是否为阻挡而进行判断后显示对应的颜色?

注:这个表格并不是平面的,而是根据地形覆盖在上面。

 

谢谢!


所有回复
  • siki 2017-08-31

    可以使用使用ugui中的image做显示,在检测是否有障碍物的时候,可以使用Physics.CheckBox这个方法,检测每个小格子是否跟场景中的障碍物发生碰撞,有就显示红色,否则显示成绿色

    还有-4条回复,点击查看
    你还没有登录,请先登录注册
  • 兼爱非攻 2017-09-01

     

    如图

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 兼爱非攻 2017-09-01

    老师你看下,如图

    • siki 2017-09-01

      这个老师研究下,看看有没有相关插件 ,这个应该是通过自定义mesh来实现的

      (0) 回复
    • 兼爱非攻 2017-09-01

      回复 @ siki: 我想用另一个方法实现,就是画一个平面,改变他的mesh的每一个坐标点来实现,我另提一个问题发图片给您看下,应该是有方法获得并设置的,但是我并不知道,请教老师了

      (0) 回复
    • siki 2017-09-01

      回复 @ 兼爱非攻: mesh可以通过meshfilter里面的mesh属性获取到

      (0) 回复
    还有-2条回复,点击查看
    你还没有登录,请先登录注册
  • sdhexu 2017-09-03

    可以用投影的。。。自带的资源包里就有。

    新建一个空物体,添加投影组件,设置为正交投影,选择自带资源里面的Light材质,将light材质的图片修改为grid(当然也可以自己修改的图片),完事。。

    这些资源全都是Stand Asstes里就有的。

    • sdhexu 2017-09-03

      当然,你还得计算格子的大小,把投影设置为正交就是为了方便计算大小。还有还可以添加遮罩效果,就是只显示角色周围多少个格子,远的格子就不显示了。当然这样的话你得写个脚本让投影跟随角色移动,当然对坐标得进行一些处理比如进行元整化,否则格子就不是一格一格的移动了。。

      (0) 回复
    • 兼爱非攻 2017-09-04

      回复 @ sdhexu: 感谢啊兄弟,我试试看!

      (0) 回复
    • 兼爱非攻 2017-09-04

      回复 @ sdhexu: 这样有一个问题啊,不知道为什么我弄完后投影并不会按投影组件设置的范围,而是一大格一大格的,移动过去一点就整个投影到另一个大格去了,下面上图

      (0) 回复
    还有-2条回复,点击查看
    你还没有登录,请先登录注册
  • 兼爱非攻 2017-09-04

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 兼爱非攻 2017-09-04

    • 兼爱非攻 2017-09-04

      还有就是这样没办法指定某个投影的颜色 ,当然除非全部单独设置,比如我需要总计显示20个格子,那么就估20个投影对象组成一个矩阵,但是现在的问题是我做的这个投影不按照设置的大小投。。。不知道怎么回事

      (0) 回复
    • sdhexu 2017-09-05

      你材质里设置的shader不对。。。用StandAssets里面有一个LightProjector的Shader。。。或者直接用那个材质。。

      (0) 回复
    • sdhexu 2017-09-05

      颜色也很容易改变。我的图,是白色的图片,然后再材质里选了黄色,他就是黄色了。

      (0) 回复
    还有-2条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!