Как выделить, когда объект выделен? - PullRequest
0 голосов
/ 29 октября 2019

Я подхожу к проблеме, когда мне нужна помощь, чтобы выделить объект, когда объект выбран. Я попытался импортировать значок кругового изображения и попытаться создать его на языке c #, но это не совсем хорошо работает. Итак, может ли кто-нибудь помочь мне решить ее (иначе, если это возможно) или улучшить мой код, чтобы эта работа работала. Спасибо за помощь. Дайте мне знать, если мне нужно уточнить больше. спасибо!

Вот мой код:

public void Editcomponents()
{ 
    ClearText();
    CircleImageStatus = !CircleImageStatus;
    var imgs = reticle.GetComponentsInChildren<Image>(true);
    if (CircleImageStatus)
    { 
        foreach (var img in imgs)
        {
            img.GetComponent<Image>().color = new Color32(235, 210, 52, 255);
        }
    }
    else
    {
        foreach (var img in imgs)
        {
            img.GetComponent<Image>().color = new Color32(255, 255, 255, 255); 
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 29 октября 2019

Для элемента GUI вы можете использовать этот встроенный скрипт Outline: https://docs.unity3d.com/Manual/script-Outline.html, чтобы показать контур вокруг объекта, который вы можете включать и выключать для выбора цели: D

0 голосов
/ 29 октября 2019

Есть этот актив, который составляет схему для вашего объекта:

https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/outline-effect-78608

Я использовал его раньше, и это просто и потрясающе.

Использование: Вы можетепросто включите и отключите сценарий Outline для объекта

Если вы все еще хотите использовать такие элементы, как круг, вы можете использовать элементы графического интерфейса и перемещать их в положение объектов с помощью преобразований WorldToScreen https://docs.unity3d.com/ScriptReference/Camera.WorldToScreenPoint.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...