Отображение и визуализация только определенного объекта в каркасе в Unity3D
Я хочу знать, как просматривать и отображать конкретный игровой объект (сетку) в каркасе, а не всю сцену. Я могу изменить сцену на каркас, используя GL.wireframe
но проблема я хочу просмотреть и отобразить только определенный объект (не всю сцену) в каркасе. Любой совет, пожалуйста?
2 ответов
использовать слои. Измените слой игрового объекта (выпадающий список в правом верхнем углу окна инспектора) с по умолчанию на другой слой (вы можете создать новый, выбрав Добавить Слой... в выпадающем меню).
затем создайте новую камеру (или выберите основную камеру, в зависимости от того, чего вы хотите достичь) и измените ее Выбраковка Маски к слою, который вы используете в объект игры.
для рисования каркас, вы размещаете этот скрипт в камере, которая должна нарисовать этот игровой объект:
// from http://docs.unity3d.com/ScriptReference/GL-wireframe.html
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
void OnPreRender() {
GL.wireframe = true;
}
void OnPostRender() {
GL.wireframe = false;
}
}
возможно, вам придется использовать 2 камеры в зависимости от того, чего вы хотите достичь (одна камера для объекта каркаса, другая камера для рисования остальной части сцены), в этом случае вы установите Очистить Флаги одной из камер не понятно. Убедитесь, что глубина значение обеих камер одинаковое.
на ясный Флаги камеры указывает, что произойдет с пикселями, где нечего рисовать (пустое пространство) этой камеры, а также то, что происходит, когда несколько камер рисуют один и тот же пиксель.
в случае Очистить Флаги is не понятно, он ничего не будет делать с пустым пространством, оставляя его на другую камеру, чтобы заполнить объект или фон. Для пикселей, где он должен что-то нарисовать, он позволит глубина объекта решает, что будет нарисовано, то есть объекты, которые находятся ближе к камере, будут нарисованы поверх других.
есть актив на Unity asset store содержит несколько шейдерных материалов, которые делают именно то, что вам нужно. Вы можете загрузить его, проанализировать и написать шейдеры самостоятельно или просто использовать предоставленный ресурс.
затем вы можете прикрепить шейдер до материал и до сетки рендер для достижения желаемого эффекта.