在“本机UI选择器的文档”页面中,它说: “ NativeUI Picker是可以添加到效果中的界面。它允许使用您的效果的人通过选择图标在其中选择其他选项。 例如,用户可以点击不同的图标来更改效果中显示的纹理”。
我已经用NativeUI纹理“切换器”制作了几种效果,并试图实现NativeUI来切换纹理(对象)本身而不是纹理之间。
例如,如果我要在FaceMesh上制作一些纹理,则可以通过点击屏幕来改变,而具有另一种纹理的粒子系统也可以在点击屏幕时进行更改。如何使用NativeUI在这两个之间切换?
我不太喜欢当前的解决方案,因为它不友好。我使用了PatchEditor和FaceFinder,在眉毛抬起时打开/关闭faceMesh和Emitter的可见性。参见下面的屏幕截图:
答案 0 :(得分:0)
// Load in modules
const NativeUI = require("NativeUI");
const Textures = require("Textures");
const Patches = require("Patches");
export const Diagnostics = require("Diagnostics");
// Create a number
let userNumber = 0;
const texture0 = Textures.get("number1");
const texture1 = Textures.get("number2");
const texture2 = Textures.get("number3");
const index = 0;
const configuration = {
selectedIndex: index,
items: [
{ image_texture: texture0 },
{ image_texture: texture1 },
{ image_texture: texture2 }
]
};
const picker = NativeUI.picker;
picker.configure(configuration);
picker.visible = true;
picker.selectedIndex.monitor().subscribe(function(index) {
userNumber = index.newValue;
// Send the number to the Patch Editor under the name 'userNumber'
Patches.setScalarValue("userNumber", userNumber);
// Debugging
Diagnostics.log("user selection = " + index.newValue);
});
使用NativeUI选择器。上面的代码会将索引值作为userNumber(scalar)输出到补丁编辑器。
示例: 如果用户选择数字1,则userNumber的输出将为0, 如果用户选择数字2,则userNumber的输出将为1, 如果用户选择数字3,则userNumber的输出将为2, 等
您可以将userNumber用作开关,使其完全相等 NativeUI Picker as Switch Picture