Можем ли мы создать конус как штуковину в единстве со сценарием - PullRequest
0 голосов
/ 01 сентября 2018

Я хочу создать конус Gizmo, как показано на рисунке ниже, используя скрипт.

Это пример кода:

void OnDrawGizmosSelected()
{
    Gizmos.color = Color.red;
    Gizmos.DrawWireSphere(transform.position, range);
}

Красная линия - это то, что я хочу. gizmos

Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 01 сентября 2018

Код ниже является модифицированной версией ответа Тетрада на подобный вопрос .

void OnDrawGizmosSelected()
{
    float angle = 30.0f;
    float rayRange = 10.0f;
    float halfFOV = angle / 2.0f;
    float coneDirection = 180;

    Quaternion upRayRotation = Quaternion.AngleAxis(-halfFOV + coneDirection, Vector3.forward);
    Quaternion downRayRotation = Quaternion.AngleAxis(halfFOV + coneDirection, Vector3.forward);

    Vector3 upRayDirection = upRayRotation * transform.right * rayRange;
    Vector3 downRayDirection = downRayRotation * transform.right * rayRange;

    Gizmos.DrawRay(transform.position, upRayDirection);
    Gizmos.DrawRay(transform.position, downRayDirection);
    Gizmos.DrawLine(transform.position + downRayDirection, transform.position + upRayDirection);
}

Надеюсь, это поможет!

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