Site icon Learn MikuMikuDance – MMD Tutorials – Free 3D Animation Software

Advanced subtitles for MMD: Using MikuTelopE


What is MikuTelopE effect? How can I make subtitles for MMD? What is better, Nameplate or MikuTelopE?

Provide your videos with subtitles

Until lately, Nameplate MME effect was the only method to add text messages to your MMD pictures or videos. Alas, with all its advantages, it also makes subtitles creation rather painstaking, especially when you need more than one phrase to appear. You have to prepare each subtitle as a separate .png file in the image editor, then adjust its position on the screen using Dummy Bone… and then you decide to move your camera and desperately try to figure where your title disappeared to. Here’s an alternate method to add text to MMD.

MikuMikuTelop, originally written by SoboroP and then translated into English by harryhack91 as MikuTelopE (along with fixing the bug that prevented its usage on computers with non-Japanese locale) is not an MME effect as such but a *tool* to generate ones. Using it, you can apply any volume of text messages to your MMD video in a breeze.

Download the archive from the link provided on a dA page mentioned above and unpack it somewhere in your MMD folder. Launch the MikuTelopE.exe, hit “Load” and select one of .txt files in the “samples” folder (your actual files don’t have to be resided there, so apply whatever policy you use to organize your files, as long as you can find your works afterwards :) ). Immediately you will see that a subfolder named “your_file_name_MMT” is created next to it. Load your MikuMikuDance project, open “PostTelop.x” (at this moment the screen will turn red; keep calm and carry on) and then “MikuMikuTelop.x” from that subfolder into the Accessory Manipulation Panel, and you’re good to go. Hit “Play” and you will see your subtitles playing on top of a video you made. That’s it, there’s nothing else you need to do to make subtitles!

…Provided you have the file, of course.

A script to produce subtitles with MikuTelopE is a simple text file you can write in Notepad. It consists of three types of lines: format and positioning description commands (preceded by “:”), timing commands (preceded by “@”), and actual text (everything else). If you’re not used to doing things through scripting, it may feel complex at first, but in reality it’s not that difficult. Let’s see how it works.

Lights…

These commands are used to describe lines’ format:

Every line of text present in the script produces a .png file that is then projected to the screen by the MikuMikuTelop.x effect. While the size of the image *file* depends on screen height as declared in the script (the more you provide in the “:screen” command, the bigger would be an image for a title with the same font “:size”), the *visible* size of a title is leveled according to proportions of the actual MMD screen size. All font-related commands are cumulative – you can describe a format fully (or just go with defaults) and then change one or another parameter to specify another:

:fontcolor 255,0,0
:italic

This line will be red and italic

:fontcolor 0,0,255

This line will be blue and italic

:italic_off

This line will be blue and straight

Also you can make ready presets to lines of various types. Here is an example of the text file, putting together the assignment of type color & font for each model, and the timing for the subtitles:

// A sample script, ready for processing:

:fontcolor 255,0,0
:font Arial
:set Meiko

:fontcolor 0,0,255
:font Courier
:set Miku

:get Miku
@0
Hi, how are you?

:get Meiko
@3
Same old, same old…

Camera…

Positioning in MikuMikuTelop is a tricky matter, needing to get accustomed to. You must remember that regardless of screen size and proportions, subtitles are always positioned using a 200×200 Cartesian coordinate grid:

Dust off your schoolbooks, folks, today we study algebra

Here are commands that are used to describe subtitles’ emplacement:

Depending on aligning (see below), lines of text are attached by the middle, edge, or a corner to the “anchor” – position described by “pos” commands. By using “pos_next/line” commands, you can put two or more lines adjacent to each other without calculating their exact location for all but first one. It’s not very convenient, though, as those positions are calculated *really* close to each other, without slightest gap between texts and with no regards to such additional effects as fonts’ border, margin, or shadow (hint: for horizontally adjoining lines you can use leading whitespaces to create a necessary gap). While the readme does not recommend using multi-line titles, short sequences seem to be processed correctly.

Lines can be aligned using following commands:

Here’s a practical example of aligning the text:

 :pos 0,0

:align_left
:valign_top
@0
align_left
valign_top

:align_right
:valign_bottom
@0
align_right
valign_bottom

The first command places an anchor in the center of the screen. Then, two different sets of position instructions are used to display their own descriptions. As you can see, rather than placing a title to the top, bottom, right, or left from the anchor, it sticks its top, bottom, right, or left edge to the anchor, respectively. If this looks non-intuitive, well, that’s Japanese for you.

Action.

Timing of subtitles has flexible form:

@1,2
This line will start at 1 second and *last* for two seconds

@1~2
This line will start at 1 second and *disappear* at 2 seconds

@1
This line will be visible proportionally to its length in characters

@100F~200F
This line will start at frame 100 and disappear at frame 200

@+1
This line will start 1 second after the previous line disappears

@*1
This line will start 1 second after the previous line appears

Additional commands related to time:

You do not place more formatting commands between timing commands and actual text.

I said, Action!

Now, knowing basics of MikuTelopE scripting, let’s try something real. Copy the example above into a text file, load it into MikuTelopE, and load resulting effects into MMD. What do we see? First, the second subtitle appears before the first one disappears. Second, both lines are seen on the left side of the screen. Since we didn’t specify titles’ duration, it’s calculated using the autotime parameter, which is set to 0.3 seconds by default, or 9 frames per character. As for the second… perhaps the default for horizontal alignment is left? Let’s edit the file and see what happens.

// A sample script, ready for processing:

:autotime 0.1

:fontcolor 255,0,0
:font Arial
:align_left
:set Meiko

:fontcolor 0,0,255
:font Courier
:align_right
:set Miku

:get Miku
@0
Hi, how are you?

:get Meiko
@3
Same old, same old…

Hit the save and go straight to MikuMikuDance. You don’t have to recompile the script by hand – as long as MikuTelopE hangs in memory, it monitors the state of all scripts loaded into it and recompiles them automatically (and, as you might have noticed from your previous experience, MMD also monitors and reloads automatically MME effects as you edit them). Now, what have changed on the screen? As you can see, instead of moving the red line to the right side, it ousted the blue line outside the border of the screen. Apparently, the default horizontal position for an anchor was not at the center of the screen as we used to see with subtitles, but close to the left edge (not *at* the edge, though, or we wouldn’t see even a glimpse of it and would stay rather perplexed at results). Should be easy to fix. As for timing, it looks good enough – as long as we are doing a “silent film” flick. If we were following a certain voice file, though, we’d need more precise synchronisation than autotime setting allows. Let’s change the script once again:

// A sample script, ready for processing:

:pos_x 0

:fontcolor 255,0,0
:font Arial
:align_left
:set Meiko

:fontcolor 0,0,255
:font Courier
:align_right
:set Miku

:get Miku
@0.5~2.5
Hi, how are you?

:get Meiko
@3.3-2.2
Same old, same old…

Oops! The sound we hear suggests something bad happened. You won’t see it until you place MikuTelopE process in the foreground, but it just threw an error message at you. It seems that something in our new script is wrong. A brief investigation shows that the “duration” parameter of the second timing command does not accept fractional numbers. Can’t fathom why the exception, but that’s how it works. Fix it…

@3.3-2

…and now it works!

Well, that should be enough to allow you to study MikuTelopE’s possibilities further for yourself.


Q&A: Does it mean Nameplate is obsolete?

No, of course not. There are qualities that make Nameplate an instrument of choice for certain purposes.

I load the file, but get a “couldn’t find .\template” error!

This happened to me when I tried to use MikuTelopE on an XP machine. Fortunately, the error is not fatal. First, hit “Refresh” – the script will compile properly this time. Then find “MikuTelopE\template” subfolder and manually copy files “MikuMikuTelop.x”, “PostTelop.fx”, and “PostTelop.x” from there to the folder containing your script. After that, it will work normally.

Models used for the head picture: Kaito wears male suit by MMDFakeWings18 and Bowler Hat by Rainb0wCat & Crazy eyes. Rin Kagamine wears Loli dress by Saler1.


– SEE BELOW for MORE MMD TUTORIALS…


— — —


– _ — –


Exit mobile version