中文
resource-icon
2d 视野-光照-阴影 v1.0.0
类别
源码
作者
supersuraccoon
Creator版本要求
v3.4.0
支持平台
AndroidiOSHTML5
评分
售价
¥ 69.99 (个人)

介绍

相关内容见帖子: LoS - 视野, 光照, 阴影 实现分享

V3 Support / V3 支持

[2022.01.14] 开始支持 Creator v3.4 版本。

SSRLoSComponent3d0005.png SSRLoSComponent3d0004.png SSRLoSComponent3d0001.png SSRLoSComponent3d0002.png SSRLoSComponent3d0003.png

主要内容包括:

  1. 模块功能 ts
  2. 模块功能移植 v3 版本,适配

v3 版本的试玩链接请戳这里

v3 版本的视频链接请戳这里

注意点:

  1. v3 版本演示程序,只支持键盘操作 (wasd)
  2. v3 版本演示程序相比 v2 演示程序,阉割了小部分内容
  3. v3 版本演示程序相比 v2 中的一个简单 光照 shader 暂时没有移植
  4. v3 版本光照库,相比 v2 在障碍物静态/动态 检测处理上,有小部分改动

About / 关于

一句话介绍一下这个项目,就是基于 cocos 引擎的 2d 光线追踪,视野范围计算,渲染相关的东西。

这里的 LoS -- Line Of Sight,简单来说,想象一个角色在充满障碍物的游戏地图中,哪些部分是角色可见的,哪些部分对于角色是不可见的,也就是角色的 视线实际可见的范围是哪些

与此相关的概念,还有 FoV -- Field of Vision / View,可以理解为 视野范围,而通过 LoS 算法,可以最终计算出实际的 视野范围

LoS作为其中的一个重要模块,在最初模块只是为了配合 Tiled Map 使用,所以在设计和实现上没有什么特别的讲究。但是随着之后对该模块的深入研究和扩展,花费了很多的时间进行了特别的优化和设计。

当然因为都是在业余时间完成的,所以断断续续的就做了很多年,期间修改了无数的 bug,优化了无数的细节。

ccdungeons1

ccdungeons2

ccdungeons3

(**请注意,上面三张截图并不包含在该插件演示程序中,截图来自于该插件库的一个实际演示程序 **)

项目是从 cocos2dx 开始的,后续新功能的开发应该也会从 cocos2dx 入手,毕竟引擎稳定,我也是最熟悉。

目前几乎所有功能都已经移植了 Creator v1, v2 版本。

而且所有版本都做了 Native Binding

但是因为精力有限,后面的新功能打算暂时只对应 cocos2dxcreator v2,当然 creator v3 出来的话也会考虑。暂时只对应 Web 版,当然原生也是可以直接用的,Native Binding 暂时不会去对应新功能。


Features / 功能

ComponentCore

核心算法模块,用于根据给定障碍物的信息,实时计算可见范围的组件。

Vision Type / 视野类型

. Unlimited Range 不限制视线距离,不限制视线角度: 360°

​ 由于视线距离无限,相当于视野的边界是一个矩形,因此有着独特的附加属性

​ .. Custom Sight Size 固定视野大小,位置不固定,跟随对象移动

​ .. Custom Sight Rect 固定视野大小,位置,不随对象移动而移动

. Limited Range Full Angle 限制视线距离,不限制视线角度: 360°

. Limited Range Non Reflex Angle限制视线距离,限制视线角度: (0°, 180]

. Limited Range Reflex Angle限制视线距离,限制视线角度: (180°, 360)

Obstacle Type / 障碍类型

. Segment 线段

. Polyline 折线

. Concave 凹多边形

. Convex 凸多边形

. 可以挂载到任意 cc.Node 对象上

. 支持挂载节点的形变 -- Scale 缩放 / Rotation 旋转 / Skew 扭曲

. 支持复数组件同时使用

Algorithm Output / 算法输出

. Visible Area 可视区域多边形信息

. Potential Blocking Edge 所有潜在边信息

. Blocking Edge 所有碰撞边信息

. Hit Point 所有碰撞点信息

. Visible Edge 所有照亮边信息

引擎支持

  • cocos2d-x web
  • cocos2d-x native
  • Creator v1 web
  • Creator v1 native
  • Creator v2 web
  • Creator v2 native

ComponentMask

用于渲染 ComponentCore 所计算出的可视范围,实现遮罩效果。

  • cocos2d-x web
  • cocos2d-x native
  • Creator v1 web
  • Creator v1 native
  • Creator v2 web
  • Creator v2 native

ComponentShadow

同样用于渲染 ComponentCore 所计算出的可视范围,主要用于实现 2d 阴影效果。

  • cocos2d-x web
  • cocos2d-x native
  • Creator v1 web
  • Creator v1 native
  • Creator v2 web
  • Creator v2 native

ComponentRender

用于渲染 ComponentCore 算法输出的各种信息。

  • cocos2d-x web
  • cocos2d-x native
  • Creator v1 web
  • Creator v1 native
  • Creator v2 web
  • Creator v2 native

ComponentLight

用于渲染 ComponentCore 所计算出的可视范围,附带光照的效果。

  • cocos2d-x web
  • cocos2d-x native
  • Creator v1 web
  • Creator v1 native
  • Creator v2 web
  • Creator v2 native

Doc / 文档

API / 文档

Wiki / 百科


下面是作者的其他一些插件,如果有感兴趣的,可以支持一下,感谢 ~

01.SSRFBONodeComponent_Banner.png 02.SSRSVGComponent_Banner.png 03.SSRSVGWriterComponent_Banner.png 04.SSRShaderFXEditor_Banner.png 05.SSRLoSComponent_Banner.png 06.SSRFogOfWarComponent_Banner.png 07.SSRCreatorPluginAdaptor_Banner.png 08.SSRShaderFXTutorial_Banner.png 09.SSRDnDComponent_Banner.png 10.SSRShaderGallery_Banner.png 11.SSRDynamicMaterial_Banner.png 12.SSRBluePrintStarterKit_Banner.png 13.SSRPostProcessingFX_Banner.png 14.SSRDeviceMotion_Banner.png 15.SSRGridCCLContour_Banner.png 16.SSRWorkCollection_Banner.png 17.SSRScreenSplitFX_Banner.png 18.SSRShaderConverter_Banner.png

用户评分

平均评分
(5)
共有 3 位用户参与评分

评论

shengyihua 2022-01-17 12:16

发错图了。。。这评论系统不行啊,不给修改 类似于这种图 http://pic.banma.com/v0/banma-website/game/bbs/data/attachment/portal/202006/30/150007q2jrpecrx94jjyqm.jpg

shengyihua 2022-01-17 12:14

边缘要是类似这样,过度到黑暗中就好了。https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=bullet echo&step_word=&hs=0&pn=21&spn=0&di=1880&pi=0&rn=1&tn=baiduimagedetail&is=0,0&istype=2&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=-1&cs=2979466237,899514455&os=3553178063,1992868172&simid=2979466237,899514455&adpicid=0&lpn=0&ln=331&fr=&fmq=1642392776335_R&fm=result&ic=&s=undefined&hd=&latest=&copyright=&se=&sme=&tab=0&width=&height=&face=undefined&ist=&jit=&cg=&bdtype=15&oriquery=&objurl=https://gimg2.baidu.com/image_search/src=http://pic.banma.com/v0/banma-website/game/bbs/data/attachment/portal/202006/30/150007q2jrpecrx94jjyqm.jpg&refer=http://pic.banma.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644984805&t=3bb7cb214dd8e588b627e52c3d1af9d6&fromurl=ippr_z2C$qAzdH3FAzdH3Fkkf_z&e3Bkwg4w_z&e3Bv54AzdH3Fw6ptvsj-mcm0l-8_z&e3Bip4s&gsm=16&rpstart=0&rpnum=0&islist=&querylist=&nojc=undefined&dyTabStr=MCw2LDQsNSwzLDEsNyw4LDIsOQ==

sddev 2022-01-17 12:13

终于支持3.x了。我特么反手就是一个赞,终于不用自己花大量时间了,绝对推荐!

shengyihua 2022-01-17 12:11

东西非常不错,就是要是光影和黑暗遮罩层的边缘有个透明过度,那就完美了。。。现在边缘太明显。谁有方案的帮忙回答下。

sddev 2021-12-28 16:18

又一个下了才发现是2.x版本的,哎,请问会支持3.4吗。。。

zhenyi0807 2021-05-22 11:41

怎么下载呀

co_cos_ly 2021-05-13 13:25

已下单

gamesWs 2021-04-29 17:55

已买mark

shengyihua 2021-04-28 14:33

好东西,必须要支持一下

  • 1

2020 © Cocos.com版权所有

增值电信业务经营许可证:闽B2-20160169

闽ICP备14002653号-6

闽公网安备 35020302033941号