Forum rules - please read before posting.
Tech questions during the weekend? Drop in on the community Discord channel!

Speech scrolling and RTL languages

Hi,
When I tick the 'reads right to left?' the scrolling of the sentence indeed reverses as it should, however if the sentence is longer then the subtitle's menu width, the breaking of the sentence is displayed wrong.
Example:
"This is wanna be RTL sentence that needs to be displayed in two lines"
What happens now is that this sentence (if it was RTL and the RTL checkbox was ticked) is displayed like so:
"that needs to be displayed in two lines
This is wanna be RTL sentence"
Is there a way to fix this? will you consider doing so in the next update for AC?
Thanks!

Comments

  • I can't recreate. What's your AC version, and please share a screenshot. The final appearance of completed scrolling text should be the same regardless of the direction.

    Note that if you display your Subtitle menu with Unity UI, you can amend the Line spacing value to flip the direction.

  • I've remembered that I already brought up this issue over a year ago, and did so more clearly...

    Chris, can you have a look at this thread and let me know if what I describe in the opening post there is solvable inside AC capabilities?

    Using unity UI seems much more complex... or am I wrong?

  • In general, I recommend AC menus for prototyping, and Unity UI for final design.

    Are you using Unity UI for your menu now? Again, I cannot recreate such behaviour. Please share screenshots of the issue occuring, as well as the properties of the Menu / Elements involved.

  • Using the AC menu.
    Unity Ver 2017.2.0f3
    AC Ver 1.66.4
    Take the following sentence as an example:

    יש לי מפתח, אז להיכנס אמור להיות פשוט. משם אצטרך למצוא את החיידקים המהונדסים והמסמכים, להפליל את דאנוצ'קה ולעוף מכאן

    When pasted as is in the dialogue box (even with the RTL check box ticked) the letters in each word, as well as the overall direction of the words in the sentence, are reversed and displays incorrectly (see pic below).
    However the text wrapping is OK, as the rightmost portion of the sentence (i.e. its beginning) is displayed at the top.

    To avoid this wrong reversing of the letters and words, I use a tool like this, to reverse the original sentence, so now it looks like this:

    ןאכמ ףועלו הק'צונאד תא לילפהל ,םיכמסמהו םיסדנוהמה םיקדייחה תא אוצמל ךרטצא םשמ .טושפ תויהל רומא סנכיהל זא ,חתפמ יל שי

    Now the exact opposite happens, the letters within each word, and words order are displayed correctly, and text scrolling does indeed start from the beginning of the sentence, however text wrapping is wrong, and the beginning of the sentence is pushed downwards as the wrapping occurs (see pic).

    Here is a pic of the menu settings:

    Any way to easily solve this? crosses fingers VERY tight

  • When you mark a language as RTL, AC will reverse the scrolling direction, and re-arrange the Hotspot sentence construction (i.e. "Use X on Y" becomes "Y on X Use").

    It will not reverse the words of the speech text, however - it'll only display exactly what you supply.

    I can only suggest what I have before - rely on Unity UI and supply a negative line spacing.

    AC's default Subtitles menu comes with a Unity UI variant, that you can modify to suit your needs. If you have trouble doing so, post details and I can offer guidance - but a tutorial on Unity UI can be found here.

  • Alright, so I gave unity UI a go :)
    2 first problems:
    1. Text is not appearing above character
    2. Text that displays is the placeholder text within the text Component of the GO in the canvas and not the text I've input in the AC's action.

    See pics of the menu and the placeholder text appearing instead of the input text.

  • You need to apply changes made to your UI back to the prefab after assigning them to the Menu Manager.

    See the Recorded ConstantID fields that appear beneath RectTransform boundary and Linked Text. These need to match up with Constant ID components on the prefab - this is how AC connects the two together.

    The general method for creating this link is:

    1. Drop the UI canvas prefab into your scene
    2. Assign the Menu Manager fields from the UI gameobjects in the scene
    3. Check that these gameobjects have been updated with ConstantID components
    4. Apply changes back to the prefab and remove

    See the Manual's "Unity UI menus" chapter for more details on this process.

  • It worked! Thanks!
    However - text still does not appear above character...
    Also, is there a way to add the stroke back to the text when using unity UI? (as is possible when using AC subtitles menu)

  • text still does not appear above character...

    1. Where does it appear, exactly?
    2. Did you assign the RectTransform boundary component?
    3. Any relevant messages in the Console?
    4. Does unchecking Always fit within screen? have an effect?
    5. Let's see updated screenshots.

    is there a way to add the stroke back to the text when using unity UI? (as is possible when using AC subtitles menu)

    What do you mean by "stroke"?

  • How do I assign a RectTransform? when I click the dot inside a circle icon next to this field, I have nothing valid to select (not in the scene nor assets) - even though I've created the canvas and text child, and have a child GO attached to the character...

    By stroke I mean black boundaries for the letters - like is available when using AC for the subtitles menu.

  • How do I assign a RectTransform? when I click the dot inside a circle icon next to this field, I have nothing valid to select (not in the scene nor assets) - even though I've created the canvas and text child, and have a child GO attached to the character...

    By stroke I mean black boundaries for the letters - like is available when using AC for the subtitles menu.

  • How do I assign a RectTransform? when I click the dot inside a circle icon next to this field, I have nothing valid to select (not in the scene nor assets) - even though I've created the canvas and text child, and have a child GO attached to the character...

    Place the Canvas in the scene, drag the child GameObject from the Hierarchy into the Menu Manager field, apply changes to the prefab and remove from the scene.

    By stroke I mean black boundaries for the letters - like is available when using AC for the subtitles menu.

    Attach the Outline component to your Text GameObject.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.
Do NOT follow this link or you will be banned from the site!