加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我应该使用什么方法进行C#脚本编写

发布时间:2020-12-15 18:05:21 所属栏目:百科 来源:网络整理
导读:我正在写一个粒子系统. (对于游戏和粒子编辑器) 在该系统中,存在0到n个修饰符. 它们每帧都会修改粒子系统中的粒子. 例如,你可以有一个名为“GravityModifier”的预定义修饰符,它只对每帧的每个粒子执行以下操作:“particle.Velocity.Y = 9.81”或类似的东西
我正在写一个粒子系统. (对于游戏和粒子编辑器)
在该系统中,存在0到n个修饰符.
它们每帧都会修改粒子系统中的粒子.

例如,你可以有一个名为“GravityModifier”的预定义修饰符,它只对每帧的每个粒子执行以下操作:“particle.Velocity.Y = 9.81”或类似的东西.

现在我希望用户能够在运行时(在编辑器中)编写其他修饰符.
我希望能够只使用C#.
由于粒子系统是写入JSON文件的,因此自定义修饰符脚本应该作为源代码(可能是base64编码)写入文件.

我的问题是:
假设游戏想要加载这样的粒子系统文件.如何将自定义修饰符编译为可执行代码?

回答这个问题时要考虑的另一个非常重要的事情:请注意,这将是游戏的粒子系统.编译的代码每帧调用超过3000次. (大多数是60fps)
因此,编译代码执行的时间比其他游戏函数要长得多,这一点非常重要.
将修饰符脚本编译到表单的委托中会很好:
委托void ModifyParticle(ref Particle p);

这可能吗?如果是这样,怎么样?

解决方法

是,

使用CSScript library可以实现这一点非常简单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读