Я пытался создать метод для изменения непрозрачности объекта, когда я выбираю его в поле со списком, чтобы я мог видеть другой объект за ним. Это делается перед изменением положения/направления камеры, чтобы следовать за 2-м объектом из положения 1-го объекта. Это делается путем клонирования материала объекта по умолчанию с помощью
this.DefaultMaterial = this.DefaultMaterial.Clone();
а затем вызов
MaterialHelper.ChangeOpacity(DefaultMaterial,0.1);
метод, как я написал его там.
Непрозрачность, кажется, работает правильно по большей части, но для некоторых объектов в порту просмотра я не вижу их через свой первоначальный непрозрачный объект. Например, когда я поворачиваю камеру к конкретному рассматриваемому объекту (глючному), вместо того, чтобы видеть его позади моего начального объекта, я вижу сквозь свой первоначальный объект и за вторым (глючным) объектом, как если бы багги там даже не было. Я просто вижу, что за этим стоит.
Я понятия не имею, почему это происходит.
Кто-нибудь знает, что может быть причиной этого? Или, может быть, есть другой способ сделать что-то прозрачным, а не устанавливать его непрозрачность?
Я видел, как некоторые люди ссылались на свойство TRANSPARENCY, но не был уверен, относится ли это к объекту FileModelVisual3D, который является исходным объектом.
Глючный объект — это UIElement3D, непрозрачный — FileModelVisual3D, есть и другие объекты класса Point3DCollection, у которых тоже есть ошибка, как и у UIElement3D.