Поделиться через


MeshGeometry3D.Normals Свойство

Определение

Получает или задает коллекцию векторов нормали для объекта MeshGeometry3D.

public:
 property System::Windows::Media::Media3D::Vector3DCollection ^ Normals { System::Windows::Media::Media3D::Vector3DCollection ^ get(); void set(System::Windows::Media::Media3D::Vector3DCollection ^ value); };
public System.Windows.Media.Media3D.Vector3DCollection Normals { get; set; }
member this.Normals : System.Windows.Media.Media3D.Vector3DCollection with get, set
Public Property Normals As Vector3DCollection

Значение свойства

Объект Vector3DCollection, содержащий векторы нормали для объекта MeshGeometry3D.

Примеры

<GeometryModel3D>
  <GeometryModel3D.Geometry>
          <MeshGeometry3D 
              Positions="-1 -1 0  1 -1 0  -1 1 0  1 1 0"
              Normals="0 0 1  0 0 1  0 0 1  0 0 1"
              TextureCoordinates="0 1  1 1  0 0  1 0   "
              TriangleIndices="0 1 2  1 3 2" />
      </GeometryModel3D.Geometry>
      <GeometryModel3D.Material>
          <DiffuseMaterial>
              <DiffuseMaterial.Brush>
                  <SolidColorBrush Color="Cyan" Opacity="0.3"/>
              </DiffuseMaterial.Brush>
          </DiffuseMaterial>
      </GeometryModel3D.Material>
  <!-- Translate the plane. -->
      <GeometryModel3D.Transform>
          <TranslateTransform3D
            OffsetX="2" OffsetY="0" OffsetZ="-1"   >
          </TranslateTransform3D>
      </GeometryModel3D.Transform>
  </GeometryModel3D>

Комментарии

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

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

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

Если нормальные значения не указаны, их создание зависит от того, указал ли разработчик индексы треугольника для сетки. Если указаны индексы треугольников, будут созданы нормы, которые учитывают смежные грани. Если индексы треугольника не указаны, для указанного треугольника будет создано только одно нормальное значение. Это может привести к фасетке.

Сведения о свойстве зависимостей

Поле идентификатора NormalsProperty
Для свойств метаданных задано значение true Нет

Применяется к