Lunatic-Works / Nova

Programmer-friendly framework for visual novels (VN) / text-based adventure games (AVG) on Unity
MIT License
597 stars 78 forks source link

了解Nova时遇到的一些问题 #7

Closed qiankanglai closed 2 years ago

qiankanglai commented 2 years ago

Hi 最近摸鱼时候了解了下Nova 可能想用来和朋友一起移植一款AVG。看代码过程中遇到了一些问题or建议 希望能一起讨论下

绝大多数Unity能做的gameplay都可以加到Nova里

关于这个其实是我目前比较头疼的地方,譬如希望加入一些特殊玩法的话,和Nova本身如何结合比较合适?例如某个chapter需要打俄罗斯方块,这时候Nova本体部分如何暂停、游戏完成后如何交互更新一些状态信息等?

woct0rdho commented 2 years ago

以前我们打算把Colorless就当作一个示例,然后在菜单里做一个按钮来新建一个Nova模板,后来就鸽了。。。既然终于有人吐槽了,那我就把文件夹移一下吧,现在已经移好了。

关于立绘,我们有一个需求:比如角色的脸和头发分成两个图层,而角色消失的时候有一段变透明的动画,那么需要先把脸和头发blend成一张图,再设成半透明,再blend到背景上 立绘合成的正确效果 否则,如果先把半透明的脸blend到背景上,再把半透明的头发blend上去,就会出问题,头顶上本来应该被头发挡住的部分露出来了 立绘合成的错误效果

我们确实不需要太在意draw call,所以理论上在把所有图层blend成一张图的时候不用开一个很大的RT,但是需要改渲染流程,我们的下一个大版本里可能会改,如果你有兴趣的话可以帮我们写这个OvO现在已经改好了

关于小游戏,我得写个教程。。。但是教程又不知不觉鸽了一个月。。。这个圣诞假期我肯肯肯肯肯定写现在已经写好了。大概的思路可以看 https://github.com/Lunatic-Works/Nova/wiki/Minigame

woct0rdho commented 2 years ago

卧槽你就是LoopScrollRect的作者啊,我们以前打算把log界面改成LoopScrollRect,你有兴趣的话也可以来帮忙OvO

qiankanglai commented 2 years ago

啊哈哈哈没问题,等我再熟悉下框架 整理下发个pull request。 立绘这个我明白需求了,这样的话确实不能直接绘制(不过似乎可以考虑额外暴露一个全局的立绘Alpha参数?)这个我周末应该能抽空做个版本试试。动态RT比较麻烦的是会冲掉硬件压缩格式,PC上还好,手机上不太能接受...

昨天刚混进QQ群里orz

woct0rdho commented 2 years ago

我觉得QQ群里搜索以前的消息比较麻烦(虽然GitHub搜索中文也比较麻烦,但是以后有可能会好起来),如果你觉得你的问题会帮助到更多人,那就在issue里问好了。

不过似乎可以考虑额外暴露一个全局的立绘Alpha参数?

你说的“全局”是什么?CharacterController已经有colorenvironmentColor这两个参数了,而改变颜色和改变alpha的逻辑是一样的,所以我们没打算单独设一个alpha参数。

(有两个颜色参数是因为color一般是做变透明或者闪烁之类的短时间的动画用的,而environmentColor是做黄昏之类的长时间的颜色变化用的。)

qiankanglai commented 2 years ago

早上可能没表达清楚,其实立绘这个需求(不同部件之间类似不透明处理,这样fade out的时候不穿帮)可以考虑用stencil做,效果应该和利用RT是一样的~ 等我有空了拉个分支做个版本试试

woct0rdho commented 2 years ago

现在小游戏的功能应该是做完了,可以看看现在的文档 https://github.com/Lunatic-Works/Nova/wiki/Minigame