• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
资源图标

资源 ShapeBuilder - 粒子提示形状 - 建筑工具&建圆神器! 0.0.2

FireFish

【Lv:3】

正式会员
注册
2023/01/31
消息
15
金粒
34,939金粒
FireFish 提交新资源:

ShapeBuilder - 粒子提示形状 - 建圆神器! - 一个通过粒子实现的建筑辅助插件,功能有给定圆心坐标和半径画圆,给定两点坐标画出线段,给定两点坐标画出立方体

一个通过粒子实现的建筑辅助插件,功能有给定圆心坐标和半径画圆,给定两点坐标画出线段,给定两点坐标画出立方体
插件处于初期阶段,欢迎反馈bug和建议(目前暂无配置文件)

命令:/shape

插件附加特性:
1.玩家退出时自动删除此玩家绘制的所有图形
2.半径大于64的圆不会被绘制
3.当坐标输入框留空时,默认为玩家脚部坐标

组合效果图:
浏览附件44131
gui截图:
浏览附件44132
浏览附件44133
浏览附件44134

阅读关于此资源更多信息...
 
不知作者会不会考虑下列的这几个方面:
1. 自动打开ParticleAPI:
似乎目前的LL默认是关闭ParticleAPI的,能否可以通过一个前置的程序在插件加载前来开启这个API。这样偏傻瓜式的操作可能会对用户更友好一些。

2.加入更多种类线段/形状:
就线段而言,一个贝塞尔曲线(https://zhuanlan.zhihu.com/p/548820614)(通常称为钢笔工具)对于有曲线需求的玩家来说好比鱼儿遇到水,如果能加入曲线的绘制,那将极大的拓展插件的功能和受众。
其次是函数/方程绘制:即通过输入函数或方程,自动地生成这个函数/方程的曲线,这个功能对于玩家来说也非常不错。实现起来可能稍微麻烦一些,需要先编写一个数学公式解析器来解析函数/方程字符串。好在有许多功能非常丰富的js第三方库可以使用,省去了编写解析器的麻烦。
对于形状来说,可以加入更多的形状:棱锥、棱柱、多面体、球体、椭球体等。实现前几个形状相对简单,但对于椭球来说,不同方向看到的形状不相同,此时可能需要实现形状描边功能(https://www.shuzhiduo.com/A/x9J2PlQVd6/),以二维方式将投影后的图形边缘绘制到玩家的视线上。

3.线段/形状的仿射变换(https://zhuanlan.zhihu.com/p/356878461):
以立方体为例,如果要绘制一个旋转45度的立方体,需要一些基础的图形变换操作。这时,ParticleAPI中的绘制立方体函数已不起作用,可以实现一个绘制任意的多条线段的功能,来绘制斜立方体的边。

4.大区域绘制:
对于过大的形状来说,用传统的粒子打点方式似乎会严重影响性能。可以考虑以下两种方法加速绘制:
一、使用自定义资源包:该方法参考自LiteLoaderBDS-CUI(https://github.com/OEOTYAN/LiteLoaderBDS-CUI),通过加入一些特殊粒子的方法,极大减少需要绘制的粒子数。例如绘制长700的直线,可以用 5个长度128的粒子 + 1个长度32的粒子 + 1个长度16的粒子 + 1个长度为8的粒子 + 1个长度为4的粒子 来绘制。
二、以二维方式绘制到玩家眼前:对于玩家来说,看到的都是屏幕上的像素点。若能直接修改这些像素,把显示的形状直接绘制到屏幕上,无疑是最好的方法。但目前没有任何可以支持该操作的API,因此可以考虑把粒子生成到玩家眼前,可以找到一个合适的位置,在这个位置的平面上的一个粒子刚好对应玩家屏幕上的一个像素。用这个方法有个极大的优点,无论需要绘制的图形多大,粒子数量都不会超出玩家屏幕像素,是一种比较好的解决大区域的方式。
 
在1.19.72版本中加载时发生错误
22:47:20 ERROR [LiteLoader] Fail in Loading Script Plugin!

22:47:20 ERROR [LiteLoader] Fail to load ./plugins/ShapeBuilder.js!
22:47:20 ERROR [LiteLoader] In Plugin: ShapeBuilder
22:47:20 ERROR [LiteLoader] script::Exception: can't create class ParticleSpawner
at <eval> (ShapeBuilder.js:11)
 
在1.19.72版本中加载时发生错误
22:47:20 ERROR [LiteLoader] Fail in Loading Script Plugin!

22:47:20 ERROR [LiteLoader] Fail to load ./plugins/ShapeBuilder.js!
22:47:20 ERROR [LiteLoader] In Plugin: ShapeBuilder
22:47:20 ERROR [LiteLoader] script::Exception: can't create class ParticleSpawner
at <eval> (ShapeBuilder.js:11)
在1.19.63版本中加载时发生同样错误(报错文字内容完全一致)
 
在1.19.63版本中加载时发生同样错误(报错文字内容完全一致)
在1.19.72版本中加载时发生错误
22:47:20 ERROR [LiteLoader] Fail in Loading Script Plugin!

22:47:20 ERROR [LiteLoader] Fail to load ./plugins/ShapeBuilder.js!
22:47:20 ERROR [LiteLoader] In Plugin: ShapeBuilder
22:47:20 ERROR [LiteLoader] script::Exception: can't create class ParticleSpawner
at <eval> (ShapeBuilder.js:11)
看看源码就可以发现这个插件使用了LL提供的ParticleAPI,该API默认情况的关闭的,需要修改配置文件手动打开。
配置文件路径:plugins\LiteLoader\LiteLoader.json, 将ParticleAPI下的enabled改为true。
 
看看源码就可以发现这个插件使用了LL提供的ParticleAPI,该API默认情况的关闭的,需要修改配置文件手动打开。
配置文件路径:plugins\LiteLoader\LiteLoader.json, 将ParticleAPI下的enabled改为true。
已解决,感谢!
 

在线管理成员

在线会员

  • hzm100828
  • 648645654465456
  • fjghaw
  • 星界狮
  • Tighnari
  • 𐂂鹿鸣
  • ZTDYY
  • ccbbkkll
  • 汽水味橘孑
  • Diamonds_chai
  • 2871275669
  • shee33
  • hanandy
  • ljys1216
  • 卡卡豆
  • 星涵 OwO
  • XiaoDou_
  • CHL_chun
  • y1668445919
  • 3469834768
  • PuddingKC
  • YYT
  • polang
...和 73 更多。
后退
顶部 底部