CsgPolygon3D
Выдавливает 2D-многоугольник для создания 3D-сетки.
Выдавливает 2D-многоугольник для создания 3D-сетки.
Массив 2D-точек выдавливается для быстрого и легкого создания различных 3D-сеток. См. также CsgMesh3D для использования 3D-сеток в качестве узлов CSG.
Примечание: Узлы CSG предназначены для использования при прототипировании уровней. Создание узлов CSG требует значительных затрат ресурсов ЦП по сравнению с созданием MeshInstance3D с PrimitiveMesh. Перемещение узла CSG в пределах другого узла CSG также требует значительных затрат ресурсов ЦП, поэтому его следует избегать во время игры.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
CsgPolygon3DКонструктор
public CsgPolygon3D();Свойства17
DepthСвойство
public float Depth { get; set; }Если CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Depth, глубина выдавливания.
MaterialСвойство
public Material Material { get; set; }Material Ультрафиолетовое отображение верхней половины материала по внешней форме (U по длине экструзий и V вокруг контура CsgPolygon3D.Polygon), нижний левый квартал передним краем, и нижний правый квартал сзади.
ModeСвойство
public CsgPolygon3D.ModeEnum Mode { get; set; }CsgPolygon3D.Mode, используемый для выдавливания CsgPolygon3D.Polygon.
PathContinuousUСвойство
public bool PathContinuousU { get; set; }Когда CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, по умолчанию верхняя половина CsgPolygon3D.Material растягивается по всей длине выдавленной формы. Если false, верхняя половина материала повторяется на каждом этапе выдавливания.
PathEntityСвойство
public EntityPath PathEntity { get; set; }Если CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, местоположение объекта Path3D, используемого для выдавливания CsgPolygon3D.Polygon.
PathIntervalСвойство
public float PathInterval { get; set; }Если CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, интервал пути или отношение точек пути к выдавливаниям (extrusions).
PathIntervalTypeСвойство
public CsgPolygon3D.PathIntervalTypeEnum PathIntervalType { get; set; }Если CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, это определит, должен ли интервал быть рассчитан по расстоянию (CsgPolygon3D.PathIntervalTypeEnum.Distance) или по дробям подразделения (CsgPolygon3D.PathIntervalTypeEnum.Subdivide).
PathJoinedСвойство
public bool PathJoined { get; set; }Когда CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, если true, концы пути соединяются путем добавления выдавливания между последней и первой точками пути.
PathLocalСвойство
public bool PathLocal { get; set; }Когда CsgPolygon3D.Mode это CsgPolygon3D.ModeEnum.PathЕсли: true :: Transform3D ЗАПЛАНИРОВАННЫЕ ЗАСЕДАНИЯ CsgPolygon3D используется в качестве отправной точки для выдерживания, а не в качестве точки отсчета Transform3D ЗАПЛАНИРОВАННЫЕ ЗАСЕДАНИЯ path_node.
PathRotationСвойство
public CsgPolygon3D.PathRotationEnum PathRotation { get; set; }Если CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, метод поворота траектории, используемый для поворота CsgPolygon3D.Polygon при его выдавливании.
PathRotationAccurateСвойство
public bool PathRotationAccurate { get; set; }Когда CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, если true, многоугольник будет повернут в соответствии с правильной касательной пути в выбранных точках. Если false, используется приближение, точность которого уменьшается по мере уменьшения количества подразделений.
PathSimplifyAngleСвойство
public float PathSimplifyAngle { get; set; }Если CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, выдавливания, которые меньше этого угла, будут объединены вместе для уменьшения количества полигонов.
PathUDistanceСвойство
public float PathUDistance { get; set; }Когда CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Path, это расстояние вдоль пути в метрах, координаты текстуры будут замощены. Если установлено значение 0, координаты текстуры будут точно соответствовать геометрии без замощения.
Многоугольник
PolygonСвойство
public Vector2[] Polygon { get; set; }Массив точек, определяющий выдавливаемый 2D-полигон. Это может быть выпуклый или вогнутый полигон с 3 или более точками. Полигон не должен иметь пересекающихся ребер. В противном случае триангуляция не будет выполнена, и сетка не будет создана.
Примечание: Если в CsgPolygon3D.Polygon определены только 1 или 2 точки, сетка не будет создана.
SmoothFacesСвойство
public bool SmoothFaces { get; set; }Если true, к выдавливаниям (extrusions) применяется плавное затенение.
SpinDegreesСвойство
public float SpinDegrees { get; set; }Если CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Spin, общее число градусов, на которое поворачивается CsgPolygon3D.Polygon при выдавливании.
SpinSidesСвойство
public int SpinSides { get; set; }Когда CsgPolygon3D.Mode равен CsgPolygon3D.ModeEnum.Spin, количество выполненных экструзий.
Методы35
GetDepthfloat
public float GetDepth();floatGetMaterialMaterial
public Material GetMaterial();MaterialGetModeCsgPolygon3D.ModeEnum
public CsgPolygon3D.ModeEnum GetMode();CsgPolygon3D.ModeEnumGetPathEntityEntityPath
public EntityPath GetPathEntity();EntityPathGetPathIntervalfloat
public float GetPathInterval();floatGetPathIntervalTypeCsgPolygon3D.PathIntervalTypeEnum
public CsgPolygon3D.PathIntervalTypeEnum GetPathIntervalType();CsgPolygon3D.PathIntervalTypeEnumGetPathRotationCsgPolygon3D.PathRotationEnum
public CsgPolygon3D.PathRotationEnum GetPathRotation();CsgPolygon3D.PathRotationEnumGetPathRotationAccuratebool
public bool GetPathRotationAccurate();boolGetPathSimplifyAnglefloat
public float GetPathSimplifyAngle();floatGetPathUDistancefloat
public float GetPathUDistance();floatGetPolygonVector2[]
public Vector2[] GetPolygon();Vector2[]GetSmoothFacesbool
public bool GetSmoothFaces();boolGetSpinDegreesfloat
public float GetSpinDegrees();floatGetSpinSidesint
public int GetSpinSides();intIsPathContinuousUbool
public bool IsPathContinuousU();boolIsPathJoinedbool
public bool IsPathJoined();boolIsPathLocalbool
public bool IsPathLocal();boolSetDepthvoid
public void SetDepth(float depth);| Имя | Тип | По умолчанию |
|---|---|---|
depth | float | — |
SetMaterialvoid
public void SetMaterial(Material material);| Имя | Тип | По умолчанию |
|---|---|---|
material | Material | — |
SetModevoid
public void SetMode(CsgPolygon3D.ModeEnum mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | CsgPolygon3D.ModeEnum | — |
SetPathContinuousUvoid
public void SetPathContinuousU(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPathEntityvoid
public void SetPathEntity(EntityPath path);| Имя | Тип | По умолчанию |
|---|---|---|
path | EntityPath | — |
SetPathIntervalvoid
public void SetPathInterval(float interval);| Имя | Тип | По умолчанию |
|---|---|---|
interval | float | — |
SetPathIntervalTypevoid
public void SetPathIntervalType(CsgPolygon3D.PathIntervalTypeEnum intervalType);| Имя | Тип | По умолчанию |
|---|---|---|
intervalType | CsgPolygon3D.PathIntervalTypeEnum | — |
SetPathJoinedvoid
public void SetPathJoined(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPathLocalvoid
public void SetPathLocal(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPathRotationvoid
public void SetPathRotation(CsgPolygon3D.PathRotationEnum pathRotation);| Имя | Тип | По умолчанию |
|---|---|---|
pathRotation | CsgPolygon3D.PathRotationEnum | — |
SetPathRotationAccuratevoid
public void SetPathRotationAccurate(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetPathSimplifyAnglevoid
public void SetPathSimplifyAngle(float degrees);| Имя | Тип | По умолчанию |
|---|---|---|
degrees | float | — |
SetPathUDistancevoid
public void SetPathUDistance(float distance);| Имя | Тип | По умолчанию |
|---|---|---|
distance | float | — |
SetPolygon2 перегрузки
public void SetPolygon(Vector2[] polygon);| Имя | Тип | По умолчанию |
|---|---|---|
polygon | Vector2[] | — |
public void SetPolygon(ReadOnlySpan<Vector2> polygon);| Имя | Тип | По умолчанию |
|---|---|---|
polygon | ReadOnlySpan<Vector2> | — |
SetSmoothFacesvoid
public void SetSmoothFaces(bool smoothFaces);| Имя | Тип | По умолчанию |
|---|---|---|
smoothFaces | bool | — |
SetSpinDegreesvoid
public void SetSpinDegrees(float degrees);| Имя | Тип | По умолчанию |
|---|---|---|
degrees | float | — |
SetSpinSidesvoid
public void SetSpinSides(int spinSides);| Имя | Тип | По умолчанию |
|---|---|---|
spinSides | int | — |
CsgPolygon3D.ModeEnum
| Значение | Описание |
|---|---|
Depth = 0 | Форма |
Path = 2 | :: |
Spin = 1 | Форма |
CsgPolygon3D.PathIntervalTypeEnum
| Значение | Описание |
|---|---|
Distance = 0 | Если |
Subdivide = 1 | Если |
CsgPolygon3D.PathRotationEnum
| Значение | Описание |
|---|---|
Path = 1 | Фигура |
PathFollow = 2 | Форма |
Polygon = 0 | Форма |