Как сделать невидимую стену в unity

Обновлено: 17.05.2024

Быстрый старт

Для начала скачайте архив, приложенный здесь. Откройте и закиньте содержимое в папку Assets вашего проекта.
В вашем проекте после рекомпила появится пункт меню "GameObject/Create Advanced/Wall Constructor".

Нажмите его, и приступим.
На сцене создался новый игровой объект "Wall". В инспекторе у этого объекта есть несколько свойств, которые отвечают за параметры стены в целом. Настройте их по своему усмотрению.
В принципе, как только вы поставили объект у вас уже почти все заполнено для тестирования. Нужно только самому выбрать материалы для стены.

После того, как вы все установили нажмите кнопку "Начать редактирование".

Обратите внимание - внутри нашего объекта "Wall" есть еще два объекта, пронумерованные как 1 и 2.

Выберите объект 2 - он считается концом стены.

Подвиньте его куда захотите. Собственно вот наша стена и растянулась.

При выборе этой второй точки - в инспекторе появляется кнопка "Продолжить стену". Нажмите на нее и создастся еще одна точка.

Теперь вернитесь на точку 3.
Предположим, что вам нужно изменить высоту стены в данной точке.
Подкрутите немного ползунок "Смещение высоты" вверх или вниз и стена деформируется.

После того как вы закончили генерацию меша, нажмите обратно на объект Wall и нажмите "Закончить редактирование".
Теперь нажмите "Удалить компонент". Как вы видите все вложенные объекты были удалены, появилось два компонента - MeshRenderer и MeshFilter, а наш компонент был удален.

Инструкция - подробней и по порядку

Новый объект создается через пункт меню "GameObject/Create Advanced/Wall Constructor".

Точки

  • первая точка - не может быть преобразована - вы можете только двигать ее
  • из последней точки вы можете создавать "продолжение"
  • промежуточные точки вы можете преобразовать в точки кривых, но две точки кривых не могут идти подряд

Настоятельно не советую изменять имена точек, так как имя последней точки переводится в число, для того чтобы новая точка была следующей в иерархии.

Точки имеют поле "Высота смещения", которое влияет на то, насколько смещается высота относительно общей величины, указываемой в самом компоненте-генераторе.

Генератор

  • Высота - влияет на высоту стены, что логично. Эта величина складывается со смещением у точки и образуется финальная высота. Не советую выставлять поля так, чтобы в сумме они давали минус.
  • Толщина
  • Размер развертки - если текстуру нужно пропорционально увеличить в размере
  • Материал сбоку
  • Материал сверху - верхняя часть меша немного отличается по рисунку со всей остальной частью стены, потому тут текстура указывается отдельно
  • Сглаживание кривых - указывает через сколько Unity-единиц в кривых должен создаваться новый полигон. Очень не рекомендую слишком уменьшать этот параметр - вызовет это дикие лаги. Да и в сути такая точность не нужна.

Перед тем как изменять точки включите генератор кнопкой "Начать редактирование". Когда вы заканчиваете с редактированием ОБЯЗАТЕЛЬНО отключите редактирование по кнопке - каждый кадр меш генерируется заново, пока вы не сделаете этого. Данная фича была сделана исключительно для удобства, но доставляет вот такой казус - не стоит про нее забывать и отключать когда вы ей не пользуетесь.
Если при сохранении вашей локации на ней остается значок звездочки после имени - посмотрите внимательно, возможно вы забыли выключить генерацию.

Когда вы окончательно сгенерировали меш - удалите компонент-генератор по соответствующей кнопке. ОБЯЗАТЕЛЬНО удаляйте его кнопкой, а не вручную - он автоматически делает дополнительную работу по удалению дочерних объектов и отображению скрытых компонентов.

Unity 2D Top-Down (Основы) Прозрачные стены.

Я только начал изучать Unity и я хочу сделать что-то наподобие 2D игры с камерой Top-Down. Сам вопрос, как сделать так, чтобы персонаж при движении не проходил через стены? Я пробовал разные варианты передвижения и само собой у меня стоят: rigidbody на игроке и коллайдеры на стене и игроке. Можете подсказать как сделать стены "твердыми". Возможно те варианты скриптов были неверны и я прошу ссылку или скриншот верных кодов) или же ошибка в самом юнити?

Как сделать стены в UNITY 5

Засунь на terrain модель, например, куб и дай ей компонент box collider, чтобы сквозь стену нельзя было бегать.

Остальные ответы

А как их не зделать? В чём конкретно вопрос, где описованния ситуации? Где скриншот примера?

Ivan ZuevУченик (90) 5 лет назад

НУ Я ПОСТАВИЛ TERRARIN И ЩАС ХОЧЮ УЗНАТЬ КАК ПОСТАВИТЬ СТЕНЫ НА TERRARIN

windows30 dey Мыслитель (5912) понятия как стены в unity нет, или создавай пустой объект и в нём растовляй колизию плоскую там где стены, либо исопльзуй те-же коробки или plane для стен

Unity. Как отключить видимость объекта в камере

Шейдеры помогут решить такую задачу, ценой быстродействия и времени разработки. Но.

Вы точно понимаете, для чего нужны тэги и слои?
Тэги - инструмент для прототипирования, без них вполне можно обойтись в любом проекте, они не обеспечивают уникальных возможностей.
Слои - ключевой инструмент для решения проблемы "объект А должен игнорировать объект Б", будь то физика или рендеринг.

Как решается ваша проблема:
1) заводится СЛОЙ единственной задачей которого будет скрывать рендереры для главной камеры - этот слой исключается из Culling Mask камеры.
2) к объектам, которые могут быть сокрыты, добавляется компонент, который хранит путь в иерархии до всех скрываемых рендереров на объекте.
3) сами дочерние объекты с рендерерами не должны быть нагружены лишними логическими компонентами, чтобы изменение их слоя никак не повлияло, например, на физику (вы, полагаю, как раз этой проблемы пытаетесь избежать, отказываясь от слоёв).
4) когда выполняется условие для скрытия / раскрытия объекта, управляющий компонент выносит свои дочерние рендереры на скрытый слой, или (при раскрытии) возвращает их на изначальный слой (не обязательно Default - можно сделать чтобы компонент запоминал слои рендереров перед сокрытием).

Если решение вам не подходит, пожалуйста, объясните почему избегаете слоёв - инструмента предназначенного именно для решения таких проблем.

Владислав СидельниковУченик (115) 1 год назад Спасибо за ответ, способа не подходит, потому что моя задача сделать скрипт, который нужно повесить на камеру, и она без лишних действий будет игнорировать объект, созданный командой Instiantiate() FF Гуру (4626) Движок Unity позволяет добавить на камеру скрипты, которые бы производили действия с изображением *после* рендеринга, а вам надо *до* рендеринга сделать объект невидимым для камеры - скриптом на камере такое не делается, но у самой камеры есть параметр Culling Mask, и это именно тот параметр который позволяет игнорировать объекты. Так что, настройте маску на камере и слои на объектах - и задача решена. Насчёт избегания лишних действий, есть два пути быстро и чётко создать игнорируемый камерой объект: а) Можно вызывать Instantiate() для префаба, у которого уже заранее настроен нужный слой. б) Можно сохранить результат функции Instantiate() в виде ссылки на объект, которому затем из кода задать нужный слой - лишних действий ровно на одну строку кода. Остальные ответы Без слоев никак
gameObject.layer = index; // индекс слоя

Можно по имени:
GameObject.Find("object_name").SetActive(false);

можно по ссылке
public GameObject obj = null; //<- в инспекторе перетащить нужный объект в это поле
.
obj.SetActive(false);

если не подходит деактивация объекта, можно сделать невидимым через
GetComponent < Renderer >().enabled = false;

Как сделать невидимую стену в unity

Quote ( lorenze )

не проще ли слегка увеличить колизийный объём у персонажа или у статической модели?


А вот это мягко говоря необдуманный совет.
В данном случае колайдер придеться раздуть до сферы и ГГ перестанет пролазить в двери. (они как известно имеют ограниченные размеры).
Иначе при наклоне вниз камера все равно смотрит сквозь стены.

Quote ( lorenze )

что за бред сивой кобылы? )


warr11r, предложил одно из реальных решений проблемы.
Кстати реально полезнее вашего совета.

заслуженный участник

Сейчас нет на сайте

Quote ( Левша )

А вот это мягко говоря необдуманный совет. В данном случае колайдер придеться раздуть до сферы и ГГ перестанет пролазить в двери. (они как известно имеют ограниченные размеры). Иначе при наклоне вниз камера все равно смотрит сквозь стены.


Зачем же до сферы? )
В ряде случаев хватит 30-50 см невидимого бардюра на стенах ) либо подобного выступа на колизийном объёме персонажа, так же контроль камеры важен.

Quote ( Левша )

warr11r, предложил одно из реальных решений проблемы. Кстати реально полезнее вашего совета.

почти ветеран

Сейчас нет на сайте

Quote ( lorenze )

скрипт по отталкиванию от стены само по себе глупость(он в таком случае через теже узкие двери также не пройдёт ), если уж так критичны моменты просвета, то надо работать камерой и слоями/группами рендеринга. Во вторых лишняя нагрузка лишними скриптами ) А кол-во объектов может быть и гигантским.


Я и не писал что это оптимально, но реально.

Quote ( lorenze )

В ряде случаев хватит 30-50 см невидимого бардюра на стенах

заслуженный участник

Сейчас нет на сайте

Quote ( Левша )

Я и не писал что это оптимально, но реально.


Именно о том и речь, какать можно и стоя на руках, но неудобно да и обгадится можно ))

Quote ( Левша )

Конкретно в unity, не поможет, если префаб наклонить вперед камера все равно провалится в стену, именно до сферы придеться наращивать.


Так зачем префаб наклонять, если можно управлять только камерой?)

Quote ( Левша )

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

Unity3d. Уроки от Unity 3D Student (B04-B08)

Теперь в каждом посте в скобках (в конце) будут указываться номера уроков. Буква в начале номера обозначает раздел (B-Beginner, I — Intermediate).

PS: Если вы не проходили предыдущие уроки, очень рекомендую их пройти, т.к. последующие изредка на них ссылаются.

Базовый Урок 04 — Уничтожение объектов


В уроке рассказывается как удалять объекты со сцены, использую команду Destroy (уничтожить).

B0400

Создайте пустую сцену и добавьте в нее сферу (GameObject->Create Other->Sphere) и куб (GameObject->Create Other->Cube). Куб назовем “Box”. Расположите объекты как показано на рисунке ниже.

B0401

Добавим скрипт к сфере. Сделать это можно несколькими путями. Перетащив скрипт из Project View на сферу в Scene View.

B0402

Или на имя объекта в Hierarchy.

B0404

Так же можно выбрать сферу и добавить скрипт через меню компонентов (Component->Scripts->Destroyer) или просто перетащив скрипт в Inspector View выбранного объекта.

B0403

Снова выберите сферу и убедитесь, что среди компонентов присутствует ваш скрипт.

B0404_1

Нажмите на Play и вы увидите, что сразу после загрузки сцены сфера исчезает.

Давайте теперь попробуем уничтожить другой объект. Для этого нам понадобится статический метод Find класса GameObject. Заменим код в методе Start() следующим:


Примечание от автора перевода: Обратите внимание, что во втором случае мы передаем значение, вызывая статическую функцию, поэтому пишем имя класса (GameObject — с большой буквы), в то время как в первом мы передаем объект этого класса (gameObject — с маленькой буквы). В противном случае компилятор выдаст ошибку:

error CS0176: Static member `UnityEngine.GameObject.Find(string)' cannot be accessed with an instance reference, qualify it with a type name instead

что переводится как:
“статический член UnityEngine.GameObject.Find(string) не может быть доступен по ссылки экземпляра (класса), вместо этого определите (вызовите) его с именем типа.”

B0405

Сохраним изменения в коде скрипта. Скрипт не требуется убирать со сферы и добавлять к нашему кубу, т.к. назависимо от того, к какому объекту он теперь прикреплен, скрипт будет искать любой объект (на сцене) с именем Box. Нажмем Play и увидим как теперь сфера остается в сцене, а куб пропадает.

Что делать, если нам требуется уничтожить объект не сразу, а спустя какое-то время? Это можно сделать передав значение во 2ой параметр функции Destroy:


Нажмите Play и убедитесь, что куб изчезает через 3и секунды после того, как сцена целиком загрузится.

Дополнительные материалы:
Базовый Урок 05 — Реализация создание объектов


В уроке рассказывается как создавать объекты в сцене в реальном времени (runtime), используя префабы и команду Instantiate (инстанциирование)

Если вы хотите добавлять объекты на сцену, когда сцена уже загружена, то вам требуется использовать скрипты, а точнее команду Instantiate().

B0500

Загрузите сцену из Базового урока 03 (Префабы) или создайте такую же новую. В нашей сцене присутствует префаб BouncyBox.

B0501

Нажмите Play и убедитесь, что куб по-прежнему падает и отталкивается от поверхностей.
Теперь удалите со сцены экземпляр BouncyBox.

B0502_1

После этого добавьте пустой объект (напоминаю, GameObject->Create Empty или Ctrl + Shift + N в Windows, Cmd + Shift + N в MacOS). Расположите его примерно в том месте, где раньше был экземпляр BouncyBox.

Рассмотрим метод Instantiate() подробнее.

Метод клонирует объект original с заданными вектором положения (position) и кватернионом поворота (rotation).
Тип Vector3 является обычным 3х компонентым вектором (аналогично вектору из R 3 ).
Тип Quaternion — кватернион, задающий поворот объекта.

B0503

Добавьте скрипт к пустому объекту (c именем GameObject).Напоминаю, поскольку thePrefab объявлен с модификатором public, вы можете задавать его начальное значение прямо в Inspector View (у соответствующего компонента, то есть в нашем случае это Creator у GameObject'а). Перетащите наш префаб в место указания значения (или выберете его из списка, кликнув на кружок справа).

B0504

Нажмем Play и увидим, что на сцене появился наш прыгающий кубик.

Но наш кубик прыгает просто вверх и вниз, потому что не имеет начального угла поворота. Выберите GameObject и поверните его под небольшим углом.

B0505

Теперь, нажав Play, вы увидите, что кубик падает и отталкивается под различными углами.

Дополнительные материалы:
Базовый Урок 06 — Простой таймер


В данном уроке рассказывается как в Unit при помощи скриптов
создавать простой таймер, используя Time.deltaTime и переменную типа float.

B0600

Воспользуемся сценой из предыдущего урока (с пустым игровым объектом,
генерирующим экземпляры префаба, т.е. BouncyBox).

B0601

Сохраняем скрипт и переключаемся назад в Unity. Добавим скрипт к объекту GameObject.

Напомню, т.к. myTimer объявлена открытой (public), то в Inspector View вы можете менять ее начальное значение.

B0602

Жмем Play. Как только значение myTimer упадет до нуля, в статус баре вы увидите строку GAME OVER. Значение переменной myTimer будет продолжать опускаться (это можно увидеть в Inspector View).

Для того, чтобы переменная myTimer не опускалась ниже нуля, добавим еще одно ветвление в функцию Update(), в итоге мы получаем следующий код:

B0603


Нажмем Play и проследим за поведением переменной myTimer. Когда ее значение будет достаточно близким к нулю, то оно перестанет изменяться.

Дополнительные материалы:
Базовый Урок 07 — Основы движения


В уроке рассказывается, как двигать объекты c помощью функции transform.Translate.

B0700

Создадим сцену с кубом, камерой и источником света.

Разберемся подробнее в коде. Тут transform — это объект класса Transform, привязанный к нашему объекту. Метод Translate() двигает объект вдоль вектора на расстояние равное его длине (параллельный перенос).

Сохраним наш скрипт и добавим его к нашему кубу. Нажмите Play и увидите как куб стремительно улетает вдоль оси Oz.

B0701

Давайте уменьшим скорость движения, например, умножив наш вектор на Time.deltaTime, то есть:

Нажмите Play и убедитесь, что куб начинает двигаться заметно медленнее.

Можно сделать наш скрипт более удобным в использовании, если скорость задать не фиксированным вектором, а через переменную. Заведем public переменную типа float и назовем ее speed. С помощью этой переменной можно будет задавать начальную скорость через Inspector View (по умолчанию она будет равна 5.0f):

B0702

Сохраним скрипт и убедимся, что в Inspector View у компонента Move появилась переменная Speed.

Посмотрите, как будет меняться скорость движения нашего объекта в соответствии с заданным начальным значением этой переменной. Например, при Speed = 3 скорость объекта не очень быстрая, но и не медленная.

Кусок кода из обертки:

Дополнительные материалы:
Базовый Урок 08 — Основы движения с помощью силы.


В уроке рассказывается как c помощью приложения силы двигать физическое тело (Rigidbody).

Если у вас на сцене есть объект с компонентом Rigidbody, то нужно задавать ему движение с помощью приложения силы (передав таким образом все расчеты движения физическому движку игры). В противном случае вы можете начать конфликтовать с физикой объекта. Мы по-прежнему используем сцену из Базового урока 03.

B0800

B0801

Сохраним скрипт и добавим его к нашему объекту (или префабу). Теперь, если нажать Play, вы увидите как куб падает не вниз а под углом, из-за воздействия силы приложенной вдоль оси Oz.

Как скрыть/показать панели в Unity?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

94731 / 64177 / 26122 Ответы с готовыми решениями:

Как скрыть/показать элемент GUI
Чтоб не указывать ссылку каждый раз ручку, так как количество &quot;регионов&quot; не известно пытаюсь понять.

Как скрыть/показать форму?
Открываю форму следующим способом: private void button5_Click(object sender, EventArgs e) .


Как скрыть и показать консоль?
Доброго времени суток! Помогите пожалуйста. Есть код простой программы. Нужно ее модифицировать.

2189 / 1399 / 813 74 / 52 / 25 Проблема в том, что если я использую panel1.SetActive(false), то повторно panel1.SetActive(true) выдает ошибку. 194 / 138 / 56 ТУТ немного инфы, а если по теме:
Ну а всякие приколюхи это уже как сам напишешь 87844 / 49110 / 22898

Помощь в написании контрольных, курсовых и дипломных работ здесь.


Как скрыть и показать форму?
У меня есть две формы. Одну из них мне нужно скрыть и показать. Как мне это сделать с помощью кода.


Как скрыть и показать форму?
Вопрос прост, но почему то не удаётся его реализовать: мне нужно, чтобы при закрытии формы она.

Как скрыть с панели задач?
Есть форма MainForm которая работает в фоновом режиме, а значек показывается только в трее! В оющем.

Как скрыть/показать строку таблицы
Голову сломал уже..не могу найти решение. Нужно, чтобы при нажатии на кнопку в статичной таблице.

Как скрыть, а потом показать кнопку?
Дайте код плис когда на кнопку клацаешь кнопка скрывается с формы и тоже самое с показанием кнопки

Сделать невидимой часть объекта(А) перед объектом(В), который заполняет буфер глубины, но сам прозрачен

Подскажите, пожалуйста, как сделать невидимой часть объекта(A) перед объектом(B), который частично перекрывает объект(A) и заполняет буфер глубины для отсечения геометрии, но сам прозрачен.

То есть получается, что объект(B) невидим, и за собой делает невидимой часть объекта(A), которая перекрыта объектом(B).

Надо что-то с этим сделать:

нужно указать в пассе следующее:
ZWrite On
ColorMask 0

Но не получается.

Нужно еще сделать так, чтобы объект(В) влиял только на объект(A)(имеется ввиду на объекты, в которых определенный шейдер)

Как сделать 2 таких шейдера?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы ( 2 ) 94731 / 64177 / 26122 Ответы с готовыми решениями:

Можно ли сделать так что при наведении мыши на часть слоя, который ниже активного - сам становился активным?
Ситуация такая у меня есть n кол-во слоев, причем некоторые (точнее их части) перекрывают.

Буфер кадра, буфер трафарета и буфер глубины
Здравствуйте, Я никак не могу найти информацию о том, что такое буфер кадра, буфер трафарета и.

Как пользоваться методом Fill, который читает содержимое файла и заполняет соответствующее поле объекта?
Я искал и не нашел информацию о методе Fill. Можете привести пример, как им пользоваться?

Буфер глубины (Qt)
почему glEnable(GL_DEPTH_TEST) работает только с выпуклыми фигурами?

10066 / 4908 / 1782 Записей в блоге: 34

Решение

То есть получается, что объект(B) невидим, и за собой делает невидимой часть объекта(A), которая перекрыта объектом(B).

Шейдер для объекта:

Шейдер для объекта-маски прозрачности:

Storm23, спасибо Большое!

Добавлено через 3 минуты
Еще подскажи, пожалуйста.

Вот такой шейдер весит на плейне(Plane), такой же как у вас на картинке с цифрами.

На кубе лежит текстура с альфа каналом, 50% черного. И т.к. в текстуре есть альфа канал, то куб не виден перед плейном. Т.е. если плейн лежит за кубом, то куб не отображается. А если часть куба выходит за границы плейна, то видно что он полупрозрачный.

Вот скрин во вкладке "Scene" На скрине карта находится позади полупрозрачного плейна. 10066 / 4908 / 1782 Записей в блоге: 34 На кубе лежит текстура с альфа каналом, 50% черного. И т.к. в текстуре есть альфа канал, то куб не виден перед плейном. Т.е. если плейн лежит за кубом, то куб не отображается. А если часть куба выходит за границы плейна, то видно что он полупрозрачный. У меня все нормально отображается:

Если проблема осталась - сделайте демосцену, положите туда только необходимые объекты, так что бы была видна проблема, и расшарьте проект.

Storm23, я убрал эту строчку
И работает как надо теперь. Storm23, помоги еще)
Возникла проблема с шейдером

Через него не работает Mask в UI.

Вот 2 скрина. На одном из них видно, как я включил сферу с этим шейдером и в нем маска не работает.

10066 / 4908 / 1782 Записей в блоге: 34 NovaEiz, Я на ваших скринах ничего понять не могу.
Если есть проблемы - делайте тестовый проект и выкладывайте.
И кстати на каждую проблему нужно создавать новую тему. Storm23, решил. Так написал для обоих шейдеров.
Storm23, добрый вечер.
Подскажите еще, пожалуйста. Как сделать, чтобы был плавный переход из текстуры в полную прозрачность?
Сейчас это выглядит резко, как на изображении.
Хочется чтобы был плавный переход через градиент.
Можно так? 10066 / 4908 / 1782 Записей в блоге: 34 плавный переход из текстуры в полную прозрачность Нужно считать расстояние до "края" и постепенно уменьшать alpha. Storm23, как это сделать подскажите, пожалуйста) 10066 / 4908 / 1782 Записей в блоге: 34 как это сделать подскажите, пожалуйста) Нужно уточнять - для какой формы объекта, как должна падать прозрачность и т.д. Нужно давать больше данных. Судя по вашему скриншоту у вас круглая карта. Для круглой области на плоском объекте можно сделать так:
Storm23, спасибо за пример.
Но мне нужно иначе. Я сделал демку.
Нужно чтобы прозрачное место, которое образует сфера, начиналось не так резко, а через плавный переход градиента. 10066 / 4908 / 1782 Записей в блоге: 34 NovaEiz,
Зачем вам вообще эта сфера? Если вам нужно просто вырезать круг в плоскости - это можно сделать просто шейдером.
Нужно чтобы прозрачное место, которое образует сфера, начиналось не так резко, а через плавный переход градиента. Ну так передавайте в шейдер координаты центра круга и необходимый радиус. А шейдер вырежет в плоскости необходимый круг, и сделает постепенный переход. Я пример дал, как доработать - додумайте сами. Storm23, мне нужно указывать радиус этого круга в метрах. В метры переводит скрипт, изменяя scale объекта(сфера). Я не знаю как это сделать шейдером. Вот и спрашиваю тут) 10066 / 4908 / 1782 Записей в блоге: 34

Решение

NovaEiz,
Шейдер:
Скрипт передающий в шейдер центр и радиус круга:

Координаты и радиус задаются в относительных величинах, в интервале от 0 до 1. Координаты (0,0) - нижний левый угол карты, (1,1) - верхний левый.
Как пересчитать в ваши координаты - подумайте сами, я не знаю как у вас координаты заданы.

Storm23, вы помогли. Спасибо!)

Добавлено через 2 минуты
Storm23, хотя можете еще помочь)
Как в этом шейдере убрать текстуру? Добавил её чтобы цвет получить. Потому что там uv_MainTex. В общем муть)

87844 / 49110 / 22898

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Qt Буфер глубины
Всем здрасьте. У меня какие то необъяснимые проблемы с буфером глубины. А может и не с ним.. В.

Буфер глубины
Доброго времени суток приведу два исходника Первый без Z-буфера работает второй с ним,но не.

Буфер глубины
Не могу включить буфер глубины на x10. На x9 все просто: pDevice-&gt;SetRenderState (D3DRS_ZENABLE.

Буфер глубины
Почему то не работает скрытие задних граней и т.д.Нарисовал пирамиду с помощью двух вееров.

Линейный буфер глубины
Как бы эту штуку сделать по умному? Сейчас делаю так: В вершинном шейдере: camSpacePosition.

Не работает буфер глубины
Не могу понять почему не работает буфер глубины. Часть треугольника которая должна углубиться по.

Как скрыть/показать элемент GUI

Помощь в написании контрольных, курсовых и дипломных работ здесь.

94731 / 64177 / 26122 Ответы с готовыми решениями:

Как создать элемент GUI на основе префаба?
Необходимо динамически создать N элементов интерфейса (в данном случае кнопок). Создаю префаб.

Как скрыть элемент на сайте для ПК, а показать на мобилке?
Хочу сделать один блок так, чтобы он был виден только в мобильной версии, а в версии для ПК - нет.

284 / 235 / 126 Подскажите что я делаю не правильно? Ссылка на объект не указывает на экземпляр объекта. Вам же редактор детально всё объяснил )) Пробуйте так:

Я буквально 3 день "общаюсь" с Unity. Нет, не работает temp=null. Понять не могу почему такое происходит. Такое ощющение что он просто не находит его по имени.

Добавлено через 10 минут
В коде ошибки нет. Проблема в том что изначально Canvas скрыт и поэтому он его не находит, возвращает null.

Добавлено через 45 минут
Не стал химичить остановился на

На сцене около 200 гейм объектов, думаю не критично прошерститить их все. 284 / 235 / 126 Вот я сделал простой тест: И результат:

Здесь я привёл пример как отключить игровой объект и его компонент.
Такое ощющение что он просто не находит его по имени. А нужный объект находится на сцене в момент поиска? Обычно null возвращается, если такого объекта нет. Если у вас "CanvasMenuRegion" - это компонент, то отключать его можно так. як я сделал с "MeshRenderer" в своём примере. Ссылка на объект не указывает на экземпляр объекта. Вам же редактор детально всё объяснил )) Пробуйте так:

У меня очень похожая проблема - Canvas1 в false уходит, а Canvas2 в true не выходит с этой же ошибкой.
В void Start Canvas2 уходит в false , в true не вернуть почему-то по кнопке. Причём по void Start этой ошибки нету, только в скрипте кнопки

746 / 594 / 203

Find не ищет среди выключенных объектов.

Добавлено через 1 минуту
Вообще использовать Find не желательно. Можно публичные поля делать и в них назначать инспектором.


Добавлено через 1 минуту
Вообще использовать Find не желательно. Можно публичные поля делать и в них назначать инспектором. Как? И как мне тогда кнопку настроек реализовать? 284 / 235 / 126 И как мне тогда кнопку настроек реализовать? Вам же ответили Можно публичные поля делать и в них назначать инспектором Другими словами делайте дополнительный скрипт с открытым полем типа GameObject и переносите туда нужный объект кнопки через инспектор, далее получаете компонент и делайте с ним свои тёмные дела Это Вам даст возможность не искать объекты методом "Find" - Вы уже будете иметь ссылку на указанный объект. 87844 / 49110 / 22898

Помощь в написании контрольных, курсовых и дипломных работ здесь.


Скрыть и показать элемент
Тут такая проблема : Мы имеем &lt;div Мне нужно , чтобы при нажатии на определенную.


Показать/Скрыть элемент
Подскажите пожалуйста. Есть форма FormRedaktor, на ней кнопки и компонент StringGrid1, надо сделать.


Показать скрыть элемент текста
Как можно показать - скрыть при нажатии значек или элемент текста

Показать/скрыть элемент текста
Доброго времени суток! Подскажите пожалуйста. Имеется такой пример: &lt;!DOCTYPE HTML&gt; &lt;html&gt;.

Читайте также: