zzzzzz9125 / Miscz

Helpful OFX plugins and Scripts for Vegas Pro.
GNU General Public License v2.0
12 stars 0 forks source link

与音 MAD 助手的无缝体验 #1

Open otomad opened 8 months ago

otomad commented 8 months ago

之后我那边可能需要改一下代码以同时支持原版平移/裁切和 Miscz OFX 两种模式。如检测到未安装 Miscz OFX 则会禁用该开关。

我现在有几个问题想了解一下。

一是中文版和英文版是否共用同一插件?我看脚本中直接使用标识符来查找插件。

二是能否提供一个 Miscz OFX(或 TransformOFX)的单色图标?我用来作为控制该功能是否启用的图标。虽然在专栏封面那里确实有个图标,但是做成矢量图再缩小到 16×16 我估计……

另外我对该功能开关所想的文案如下,看一下是否有需要修改的:
将属性添加到 Miscz TransformOFX 中
工具提示注解:
Miscz TransformOFX 是一款像素硬边缘方法插件,开启后将会将关键帧属性添加到该插件的属性中,了解更多

另外我正在开发新版的音 MAD 助手,该功能应该随新版一同发布。

zzzzzz9125 commented 8 months ago

1.中文版和英文版共用一个OFX插件本体(Miscz.ofx),两者的区别仅仅是有无汉化。汉化文件为Miscz.xml,脚本里的标识符可参考此文件。(比如水平翻转是flop、竖直翻转是flip…)因为是在修改插件之前制作的汉化,里面会有些我已经从插件界面中隐藏掉的参数,可以直接忽略。

2.16×16的脚本图标我刚刚传到仓库了,TransformOFX 的图标也沿用这个。Misc官方版是有提供图标文件的,但是有点丑,我又懒得重新设计了,因此就沿用脚本图标算了。

3.这个方案可以有。

otomad commented 8 months ago

image

效果还行。

zzzzzz9125 commented 6 months ago

从 v.1.2.0 版开始,PixelScalingTool 脚本 将不再依赖于 MisczOFX 的 TransformOFX,转而完全使用 FFmpeg 进行重新渲染和文件替换操作。旧版的脚本已备份于 PixelScalingTool_old.cs。 新版的具体使用教程我明天会在 B 站发个专栏,音 MAD 助手里的对应功能也建议更换为 FFmpeg 逻辑的新版。

otomad commented 6 months ago

原本我是希望在“工具”选项卡下新增一个平移/裁切与TransformOFX互转的工具。

从 v.1.2.0 版开始,PixelScalingTool 脚本 将不再依赖于 MisczOFX 的 TransformOFX,转而完全使用 FFmpeg 进行重新渲染和文件替换操作。

但这样做是不是有个缺点?如果我想突然更换一下素材(或者单纯想测试一下不同素材应用后的效果),不能实时应用效果,需要单独渲染成文件后才能再次操作。

zzzzzz9125 commented 6 months ago

但这样做是不是有个缺点?如果我想突然更换一下素材(或者单纯想测试一下不同素材应用后的效果),不能实时应用效果,需要单独渲染成文件后才能再次操作。

是有这个问题,新脚本的大体逻辑是通过已选中的事件找到对应媒体→FFmpeg 缩放→在 Vegas 工程内替换媒体文件,是针对原素材本身的操作。 之前的 TransformOFX 是针对于单个事件的,我觉得这个逻辑还是不太行,因为像素放大这种功能,只要素材本身是确定的,他完全可以变成一个一次性的操作。比如工程里有个未缩放的图像,我既可以在做左右抽之前就缩放替换成大图,也可以在所有的东西都做完以后,再给他替换文件,因此在单个素材确定的情况下只需执行一次,并且不会影响现有的其他所有效果。脚本也支持事件多选,多选后可以转换所有对应的媒体文件,再替换进去。而 TransformOFX 逻辑的旧脚本则需要不断地给每个事件的平移/裁切关键帧都转换,重新生成 OFX 关键帧,并且之后若要修改也麻烦,太影响效率了,因此弃用。

otomad commented 6 months ago

可以用媒体FX吗?(右键媒体文件为该媒体文件应用效果,类似于处理色键抠绿幕。)

zzzzzz9125 commented 6 months ago

可以用媒体FX吗?(右键媒体文件为该媒体文件应用效果,类似于处理色键抠绿幕。)

媒体FX我尝试过了,没有用,因为没法绕开平移/裁切。比如原素材是 32x32 的,媒体FX加上去以后,他也是按照原素材 32x32 的逻辑去处理,再怎么缩放,他也只有这样的大小,最后经过平移/裁切放大后还是会糊。感觉替换媒体文件还是最优解。

otomad commented 5 months ago

请问一下能否提供一张“像素硬边缘放大”的功能介绍图片(16:9,以功能效果为主,不包含文本以免翻译麻烦), 以及一段长文本的功能介绍说明?

image
image
image


功能位置: image

英文版(检查一下英文的功能描述部分是否有翻译错误): image

如果不太明白具体细节,可在此参考一下其它模块的说明,点击展开 >

![image](https://github.com/zzzzzz9125/Miscz/assets/56647156/33e7b00d-03df-4522-9f3b-ea811fa428c3) ![image](https://github.com/zzzzzz9125/Miscz/assets/56647156/7528e492-a08f-4ea6-90db-b8c9d8e454e3) ![image](https://github.com/zzzzzz9125/Miscz/assets/56647156/63216a57-b12e-4e5e-bcd7-ab9c4b1afeb6)

zzzzzz9125 commented 5 months ago

先讲一下,Pixel Scaling 的那个调试模式可以删掉了,我写着做测试的) 可以看一下我新更新的版本,使用了 LogFile() 替代了调试模式的功能,只有在程序出问题的情况下才会展示详细日志,效果如图: image 当然这个感觉可有可无,改不改随意了

像素硬边缘放大的图和介绍我明天(指26号)晚上给,总之您辛苦了。

otomad commented 5 months ago

我觉得可以加一个仅添加FFmpeg处理后的素材,而不替换掉原素材的功能。

当然逻辑实现上可以做成替换掉素材,再把原素材重新添加回来。

zzzzzz9125 commented 5 months ago

我觉得可以加一个仅添加FFmpeg处理后的素材,而不替换掉原素材的功能。

当然逻辑实现上可以做成替换掉素材,再把原素材重新添加回来。

可以,等我明天看看。

才发现我刚写的那段也是有问题的,logText 没考虑到外边 foreach() 的循环,等我之后再提交个新的吧(

zzzzzz9125 commented 5 months ago

功能介绍图片:

cover (不过不知道小图能不能看出区别,应该还是挺明显的)

文字介绍:

像素硬边缘放大功能,可以将原素材的像素画图像放大并替换为新图像,以避免 Vegas 的平移/裁切对原始像素画重新缩放而造成的像素失真问题。如需使用该功能,你必须提前将 FFmpeg 添加至环境变量内。 像素硬边缘放大功能会利用 FFmpeg 对素材原文件使用最近邻插值算法进行放大处理,以适合当前工程大小,再将 Vegas 内的原始媒体文件替换成新生成的媒体文件。新生成的文件会在名称中添加“_Scaled”后缀作为标识。此功能理论上支持所有的图像/视频文件格式,同时也支持通过常规方式导入进 Vegas 的图像序列文件。

如果 Otomadhelper 会集成 FFmpeg 的话,环境变量那句可以不要了。
英语翻译没问题。

我觉得可以加一个仅添加FFmpeg处理后的素材,而不替换掉原素材的功能。

当然逻辑实现上可以做成替换掉素材,再把原素材重新添加回来。

已实现,见最新的两次提交。

otomad commented 5 months ago

如果 Otomadhelper 会集成 FFmpeg 的话,环境变量那句可以不要了。

如果安装了 Datamosh 扩展包,则会集成 FFmpeg。之所以不默认集成是因为这扩展包有大约 100MB,我估计可能会有人不买账。

zzzzzz9125 commented 5 months ago

那就改成:如需使用该功能,你必须提前将 FFmpeg 添加至环境变量内,或者也可以直接安装 Datamosh 扩展包。

如果用户装了 Datamosh 就调用 Datamosh 的,没有则尝试调用环境变量。

等我再添加一个 FFmpeg 是否在环境变量内的检测,如果没检测到,就直接弹窗并返回。

otomad commented 5 months ago

image

Done!

zzzzzz9125 commented 5 months ago

MisczOFX 将会进行重大更新,这次更新的主题是周期运动,即可以快速生成往返的周期性运动。建议整合至音 MAD 助手内。

当前效果如下: image

测试视频:https://github.com/zzzzzz9125/Miscz/assets/109144770/864e1176-722e-405e-9fcd-884cc1df2f11

当前特性:

  1. 支持圆周运动、两点运动、以及正多边形的运动轨迹的周期性运动。支持在前三种运动轨迹的基础上进行形变。
  2. 运动曲线支持贝塞尔曲线。

即将加入的特性:

  1. 运动时,可以选择物体的方向是否指向轨迹中心。
  2. 正多边形支持“间隔”,如选择正五边形,间隔为 2 时,可画出五角星轨迹。
  3. “周期进度”会被替换成频率,做运动时不再需要单独打进度的关键帧。

未来有可能会更新的特性(也就是说暂时不会写):

  1. 用直观的线条显示运动轨迹。
  2. 支持手动打点,并可以调整轨迹曲率。支持手动输入运动函数。

还有什么其他的功能性建议吗?

otomad commented 5 months ago

嗯?TransformOFX又回来了?我还以为从2代开始就取消该功能了。

zzzzzz9125 commented 5 months ago

嗯?TransformOFX又回来了?我还以为从2代开始就取消该功能了。

昨天刚想到的功能,就现写了上去,效果应该挺好。

zzzzzz9125 commented 5 months ago

Mz_TransformOFX 的周期运动功能已经正式发布,感觉可以考虑和音 MAD 助手联动。

otomad commented 5 months ago

Mz_TransformOFX 的周期运动功能已经正式发布,感觉可以考虑和音 MAD 助手联动。

目前联动的功能仅限于将水平翻转等效果的关键帧从平移/裁切转移到 TransformOFX 上。
image
暂时想不出还有什么功能可以联动的,如果有更多的想法请告诉我。

zzzzzz9125 commented 4 months ago

我想的是有的音 MAD 可能需要用到 一个素材一边做着左右抽,一边还沿着一定路径做着往返运动,一边还在自转 这样的效果,或者更复杂一点的像 BV1rK421h7Bf 的 3:16 这里,如果要在 Vegas 内 K 帧的话可能会很麻烦,Vegas 也没有啥表达式功能可以用。但如果是用 Mz_TransformOFX 的周期运动功能,稍微调一下参数,就可以一键生成了,不需要自己 K 帧,就可以很方便地让单个轨道的素材去做重复往返的路径移动。这个可以算在和轨道相关的生成效果内,而不仅限于单个事件。

刚刚小更新了下,现在频率支持输入 BPM 和节奏类型。我感觉周期运动功能和音 MAD 助手集成后会变得更方便一些。

周期运动的相关功能介绍在这里:https://www.bilibili.com/read/cv33944312/

otomad commented 4 months ago

BV1rK421h7Bf

看了下视频,我有点混乱。你可以弄几个示例视频来演示一下吗?比如用一张固定的图片根据节奏运动即可。

不过也不必急,我这边进度实在是太慢了,光组件库都还没写完呢。

zzzzzz9125 commented 4 months ago

测试视频:BV1BZ421n7VS

不着急的话也没事,我只是提醒一下我更了新功能了,如果以后要用到相关功能可以直接用。

otomad commented 3 months ago

无聊的时候加了一个彩蛋。

https://github.com/zzzzzz9125/Miscz/assets/56647156/e3e4b922-04ce-4531-8b92-447b36d1078e

otomad commented 2 months ago

突然想到一个新的TransformOFX功能建议,可以实现类似于AE动态拼贴的电视墙/平铺瓷砖效果,即将素材画面缩小然后平铺多个一模一样的画面,可以调整参数实现2×2、3×3等相同画面(当然这个参数也可以是浮点值只要你做起来不难的话),额外的选项控制是否镜像边缘、中心点等。

其它第三方插件如蓝宝石、红巨星等虽然也都附带了这个效果,但是需要用户安装庞大的这个插件也挺麻烦的。 VEGAS原生虽然也自带这种效果,但是需要调自定义合成,参数调起来挺麻烦的(而且似乎参数和老版的VEGAS还不兼容),并且单个效果最大3×3,嵌套使用可以9×9等。

zzzzzz9125 commented 4 days ago

有人正在开发新的平铺插件,可以期待一手:https://www.vegascreativesoftware.info/us/forum/posts--147223/