×
Menu

Clipped Projected Textures

 
Плоскость отсечения.
В режиме EFFECT_PROJECTED_LIGHT позволяет получить луч только в одном направлении.
Иначе, эффект будет проецироваться в обе стороны от точки старта.
Эффективно работает, только для этого типа эффекта!
 
Аглицкая справка по предмету:
 
Примечание по нифскопу 1.1.3 (и более ранним версиям).
Правильное название параметров задается через редактирование Nif.xml файла.
Unknown Vector - можно переименовать в Clipping Plane Vector.
Unknown Float - в Clipping Plane size.
 
Либо вовсе заменить эти строки на:
        <add name="Clipping Plane Enabled" type="byte"></add>
        <add name="Clipping Plane" type="NiPlane"></add>
При этом должен иметься дополнительный блок, который, однако, может использоваться и для частиц:
    <compound name="NiPlane" size="16">
        <add name="Normal" type="Vector3">The plane normal`s alignment.</add>
        <add name="Distance" type="float">The distance of particles reaction.</add>
    </compound>
Т.е. подобная конструкция используется в нескольких объектах.
 
Примечание.
Clipping Plane = 1  (Clipping Plane Enabled = 1)
Правильно работает только для EFFECT_PROJECTED_LIGHT.
Для Shadow - к отключению эффекта.
Для двух других, никак себя не проявляет. Т.е. эффекта от включения этого параметра - нет.
 

Clipping plane в Редакторе в случае использования оной на "физических" объектах.
Т.е. не на частицах.
 
Тестовый куб, о двух сторонах, т.е. плоскости и внутри и снаружи.
Источник света помещен в самом центре, при экспорте он превратился в текстурный эффект типа EFFECT_PROJECTED_LIGHT.
Clipping Plane = 0
Clipping Plane = 1 X
Как видно, текстура проецируется на обе стороны поверхности, но теперь в виде половинки.
 
Еще один скрин Clipping Plane = 1, по представлению СкенеВиювера.
Косая линия разделения по середине и есть эффект отсечения.
 
Изменен тип наложения на EFFECT_ENVIRONMENT_MAP.
Clipping Plane = 1, но здесь это не производит эффекта!
Частицы с наложенным эффектом и Clipping Plane = 1
WRAP_S_WRAP_T
Примечание.
Clipping Plane = X 1
CLAMP_S_CLAMP_T
и Clipping Plane = X 1
 
Собственно, показывает влияние плоскости отсечения на текстуру эффекта. Как и в каком случае оно будет себя проявлять.
 

И, на конец, правильное использование Clipping Plane в массиве частиц в сочетании с дарк картой!
Источник света помещен в центр массива частиц, отчего получается эффект "стены" в центре.
Впрочем, последнее может зависеть от текстуры, т.е. не все текстуры создают "стену света".
 
Если размещать свет вне массива, "стена" не возникает, см. скрины выше.
Что бы избавиться от "стены света", если она все-таки появилась, следует менять значение Unknown Float.
Оптимально = 10. См. скрины внизу страницы.
Clipping Plane выключен, дарк карты нет.
Конус света направлен в обе стороны от стены + стена света в точке размещения эффекта.
 
Clipping Plane - по оси X.
Clipping Plane - по оси Y.
Хорошо видны края полигонов частиц.
Clipping Plane - по Z.
Это наиболее правильное значение, позволяющее отсекать нежелательный "вторичный конус" света.
 
Clipping Plane по Z, но теперь в модели есть ДаркКарта!
 
Хорошо видно, как спрятались края полигонов!
А также "стена света" была частично сокращена!
Далее - ее можно будет убрать полностью.
 
 
Clipping Plane выключен, дарк карта есть!
 
Частицы работают так, словно в них нет эффекта, однако он там есть, но практически не заметен.
Clipping Plane XYZ без дарк карты.
 
Clipping Plane по XYZ и Дарк карта!
1 - дарк карта и Clipping Plane по Z.
2 - нет ни дарк карты ни отсечения.
3 - те же самые частицы, но без эффектов.
 
Во всех случаях Unknown Float (Clipping Plane size) = 0.
Что и дает крестовину на центральном посохе.
Т.е. "стена света" не всегда плохо.
 
Эффект находится в детях Билборд объекта, что позволяет получать интерактивное движение оного по массиву частиц.
 
По нифскопу.
Clipping Plane допускает использование отрицательных значений!
Unknown Float (Clipping Plane size)
позволяет избавиться от "стены света".
 
Clipping Plane = 1
Unknown Vector (Clipping Plane Vector) = Z 1
Unknown Float (Clipping Plane size) = 10
 
Однако большие значения начинают обрезать по полигонам.
 
 
Clipping Plane = 1
Unknown Vector (Clipping Plane Vector) = Z 1
Unknown Float (Clipping Plane size)= 80
Дарк карта = есть.
 
*правки Ниф.хмл позволяют установить удобные название для параметров, здесь, на скриншоте, используется niPlane вариант.
По идее, это более правильно, чем простое переименовывание параметров.
 
Clipping Plane = 1
Unknown Vector (Clipping Plane Vector) = Z -1
Влияние вектора плоскости отсечения на направление луча.
Clipping Plane = 1
Unknown Vector (Clipping Plane Vector) = Z 1
 
Т.е. изменено только направления отсечения текстурного эффекта, все остальное осталось на прежних местах.