我遇到一个问题,当选择对象时,我需要帮助以突出显示该对象。我尝试通过导入圆形图像图标并尝试在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);
}
}
}
答案 0 :(得分:0)
有一种资产可以为您的物体勾勒轮廓
https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/outline-effect-78608
我以前用过它,它简单又棒。
用法: 您只需在对象上启用和禁用“大纲”脚本
如果您仍然想使用圆圈之类的东西,则可以使用GUI项,并通过WorldToScreen变换https://docs.unity3d.com/ScriptReference/Camera.WorldToScreenPoint.html
将其移动到对象位置。答案 1 :(得分:0)
对于GUI元素,您可以使用此内置的Outline脚本: https://docs.unity3d.com/Manual/script-Outline.html 在对象周围显示轮廓,您可以为选择目的打开或关闭该对象:D