VTuber Editor - Basic Flow Guidance By Blockly
1. What is Basic Flow?
Basic Flow, Combine a series of statement flows together by stacking blockly, Then execute it in sequence. In short, we can do many interesting interactive effects, interactive scenes and even blockly games through our basic flow.Its principle is similar to Google blockly. Of course, in addition to the basic flow mentioned, advanced flow will also be opened later, which can bring more creative output, including video, twitch chat reaction, twitch emote extension and so on.
So, today, let's show you what Basic Flow is all about? Or you can go directly to experience: https://live3d.io/
2. Blockly Introduction To Basic Flow
(1) Event:
It includes start events and various transition events, which are used to quickly and simply control the special effect process, monitor the status and input.
"When the basic flow start" is the "head building block". Only when it is triggered, the building block queue contained in it will be executed in turn.
Name | Parameter | Describe |
When the basic flow start | none | Head building block. When you click start, this building block starts execution. |
When action progress
for example: |
<action?> : refers to the action played by avatar <start?> : what progress is played? Start, end, 1 / 3, 2 / 3 |
When the progress of avatar executing an action is detected, it starts to execute the relevant internal building blocks |
When emotion progress
for example: |
< emotion?> : refers to the expression played by avatar <start?> : what is the progress of playback? There are start and end |
When it is detected that Avatar has executed or finished executing an expression, it starts to execute the relevant internal building blocks |
When vfx progress
for example: |
< vfx?> : refers to the special effects played by avatar < start/stop > : play or stop |
When it is detected that a special effect is executed or finished, the relevant internal building blocks are executed |
When asset is
for example: |
<self?>:refers to the asset object in the current scene | When it is detected that the status of an attribute [size/alpha/rotate/X/y] of the resource object changes, start to execute the relevant internal building blocks |
(2) Behavior
Used to execute some dynamic resources [actions, expressions, special effects], etc
Avatar play action <?> With <body/lower body/upper body/head/gesture> | <?>: action resources | Let avatar play an action resource, with body/lower body/upper body/head/gesture |
Avatar play emotion <?> at【slow/normal/fast】speed | <?>: expression resources | Let avatar play an expression resource quickly, normally and slowly |
Play/Stop effect <?> | <?>:special effects resources in the current scene | Stop / play special effects existing in a scene Note: special effects resources need to be added in advance |
Set <?> X: {0} Y: {0} | <?>:refers to the asset object in the current scene {0}: modifiable number |
Set the location of asset objects in the scene |
<?> change x/y by {10} | <?>:refers to the asset object in the current scene {10}: modifiable number |
Make the position of the asset object in the scene X / y overlay 10 Note: a negative number represents a decrease |
(3) Looks:
Lets you adjust the appearance properties of an asset object
show/hide <?> | <?>:Refers to the asset object in the current scene | Show or hide an object |
Set <?> size to {100}% | <?>:Refers to the asset object in the current scene {100}: modifiable number Note: parts of avatar are also included |
Set the size of an object to how many times |
Change <?> size by {10}% | <?>: Refers to the asset object in the current scene {10}: modifiable number Note: parts of avatar are also included |
Sets how much the size of an object increases or decreases Note: a negative number represents a decrease |
Set <?> alpha to {100}% | <?>: Refers to the asset object in the current scene {100}: modifiable number |
Set the transparency of an object |
Change <?> alpha by {10}% | <?>: Refers to the asset object in the current scene {10}: modifiable number |
Sets how much transparency an object increases or decreases Note: a negative number represents a decrease |
Set <?> rotate to {0} | <?>: Refers to the asset object in the current scene {0}: modifiable number |
Sets the degree of rotation of an object |
Change <?> rotate by {0} | <?>: Refers to the asset object in the current scene {0}: modifiable number |
Sets how much an object's rotation increases or decreases Note: a negative number represents a decrease |
(4) Ani
It is used to adjust the object attributes in how many seconds. At present, it is linear
Set <?> size to {100}% in {2} s | <?>: Refers to the asset object in the current scene {100}: modifiable number {2}: modifiable number |
How many seconds to change the size of the object |
Set <?> alpha to {100}% in {2} s | <?>: Refers to the asset object in the current scene {100}: modifiable number {2}: modifiable number |
How many seconds to change the transparency of an object |
Set <?> size to {90} in {2} s | <?>: Refers to the asset object in the current scene {90}: modifiable number {2}: modifiable number |
How many seconds to change the rotation of the object |
Set <?> X: {0}, Y: {0} in {2} s | <?>: Refers to the asset object in the current scene {0}: modifiable number {2}: modifiable number |
How many seconds to change the position of the object |
(5) Logic
sync | none | Execute the building block statements synchronously |
Repeat do | none | Loop execution |
Repeat {1} times do | {1} modifiable number | Execute after several time Loop |
Repeat until <trigger> times do | <trigger> :Refer to the introduction of trigger | Loop until trigger is triggered |
Wait {1} s | {1} modifiable number | Wait a few seconds |
Exit the loop | none | End loop |
If <trigger> do | <trigger> :Refer to the introduction of trigger | If trigger is triggered, execute the corresponding building block |
If <trigger> do {} else do | <trigger> :Refer to the introduction of trigger | If trigger is triggered, execute the corresponding building block, otherwise execute another building block |
Wait until <trigger> do | <trigger> :Refer to the introduction of trigger | Wait there until trigger triggers |
(6) Trigger
<?> show/hide | <?> Refers to the asset object in the current scene | Detect whether the object is show or hidden |
Avatar play action <?> to [start,end,1/3,2/3] progress | <?> action resources | Detect the progress of avatar playback action resources |
Avatar play emotion <?> to start/end progress | <?> expression resources | Detect the progress of avatar playing expression resources |
<?> size [</<=/>/>=] {1} | <?> Refers to the asset object in the current scene {1} modifiable number |
Detect whether the object property is greater than or less than a number |
Effect <?> play/stop | <?> special effects resources in the current scene | Detect whether a special effect play or stop |
3. Later stage plan of flow function module
- Add more interesting statements, such as detecting twitch chat, etc
- Add statements to change the scene, for example, let the background switch and transition through automatic or shortcut keys
- Add sentences to change characters and their appearance
- Increase the ability to record video
- Increase UGC sharing community
There are more wonderful, please look forward to~
Here are some tips to help you make better use of this featureIf you still can’t solve your problem, you can get in touch with us in the following ways:
- App: https://live3d.io/
- Discord :https://discord.gg/CaxThpY
- Twitter:https://twitter.com/VTuber_Maker
- Reddit:https://www.reddit.com/r/Live3D/
- Email:[email protected]