Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Multiplayer nicknames improvements #479

Closed
Speciesx opened this issue Dec 12, 2015 · 6 comments · Fixed by #2760
Closed

Multiplayer nicknames improvements #479

Speciesx opened this issue Dec 12, 2015 · 6 comments · Fixed by #2760

Comments

@Speciesx
Copy link
Contributor

  • Nicknames should not be reflected on cars or at all. (Performance impact?)
  • Add the ability to hide own nickname.

ror_2015_12_12_12_40_53_525

@ghost
Copy link

ghost commented Dec 13, 2015

I agree there shouldn't be a reflection, but if there's no nametag, nobody will know who crashed into them or so on.

@ghost
Copy link

ghost commented Dec 13, 2015

"Add the ability to hide own nickname."

Meaning other people will still see your nickname, but there would be a option to hide your nickname ;)

@ghost
Copy link

ghost commented Dec 13, 2015

Oh, ok lol.

@ghost
Copy link

ghost commented Jul 14, 2016

I've changed the font + color of the player labels to be basically identical to 0.36.x's labels, I think it looks a lot better than the current one IMO.

The chat log from Gitter with @only-a-ptr :

Michael10055 13:42

Changed the multiplayer player font color to White, looks a lot better IMO.
1

Petr Ohlídal 14:23

The multiplayer labels would look better, both on screen and in sourcecode, if they were handled as >on-screen elements rather than floating text. This way, you either use ridiculously detailed font >texture, or it looks bad almost all the time. In code, it looks bad all the time
On your screenshot it sure looks better, but what about bright sunny scenarios? We need to figure >some subtitle-style white text with thick black outline

Michael10055 16:24

What about this? It's basically identical to 0.36.x's labels:
2

3

(0.36.x)

Petr Ohlídal 18:01

Very nice text. How did you do that?
However, as I said, there's the "floating text" problem - it gets too big for close objects and too tiny >for distant objects (or is there a lower/upper limit? IDK, really).

Michael10055 18:07

-- Beam.cpp line 5548-5553 ---

            netMT->setFontName("highcontrast_black");
            netMT->setTextAlignment(MovableText::H_CENTER, MovableText::V_ABOVE);
            //netMT->setAdditionalHeight(2);
            netMT->showOnTop(false);
            netMT->setCharacterHeight(2);
            netMT->setColor(ColourValue::White);
-- Character.cpp line 98-103 --

        mMoveableText->setFontName("highcontrast_black");
        mMoveableText->setTextAlignment(MovableText::H_CENTER, MovableText::V_ABOVE);
        mMoveableText->setAdditionalHeight(2);
        mMoveableText->showOnTop(false);
        mMoveableText->setCharacterHeight(8);
        mMoveableText->setColor(ColourValue::White);

And yeah, the text gets bigger as the FOV decreases/camera moves away/vise versa with no limit

Petr Ohlídal 18:13

Interesting, setColor(white) -> black with white outline. Guess the font is defined that way.

Petr Ohlídal 18:21

The MovableText class is all wrong - full of pointlessly manual mesh/texture creation logic (probably made for older OGRE versions) and designed to do labels as truly floating text.
We should use either MyGUI's label widgets or custom textured polygons, but in screen space.

@ohlidalp
Copy link
Member

ohlidalp commented Jul 20, 2016

Nicknames should not be reflected on cars or at all. (Performance impact?)

😆 Never noticed this, but it makes perfect sense. Performance impact should be minimal, tho, it's just a visual garbage.

Extended list of desired features:

  • Upper and lower limit on text size.
  • Defined min/max distance.
  • No interference with game gfx (no reflections, no shader glitches...)
  • Ability to toggle or disable own label.

I'd like to replace the current labels with some UI elements, such as MyGUI::Label-s, but there are things to consider:

  • Visibility: The current labels float along players, and if the player is behind an object, so is the label. Is this desirable? A GUI label would be visible "through" all object, except if I write extra code to hide it when player is hidden. Maybe it should be toggleable.
  • Mirrors: IDK if labels are currently visible in mirrors. Theoretically they should because labels are part of the scene, but maybe there's some piece missing. Anyway, displaying GUI labels in mirrors would be some extra code (minor) and some extra performance. I also don't think this is desirable - mirrors usually show small image, labels wouldn't be readable. Implementing on-screen labels for objects in mirror is possible, though, via some more code.

Research: try to setup outlined font on MyGUI. Some info: http://www.ogre3d.org/addonforums/viewtopic.php?f=17&t=30436 Tip: on windows, you can download MyGUI demo apps and play with their setup.

@ghost
Copy link

ghost commented Jul 20, 2016

The labels are visible with both the classic mirror system and videocameras: (The first picture uses videocameras, second uses the classic mirror system)
screenshot_2016-07-20_14-58-13_1
screenshot_2016-07-20_14-59-02_1
But as you said, they are unreadable (and mirrored).

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants