Цитирую:

oceanPlanel .translateX = persp.translateX; oceanPlanel .translateZ = persp.translateZ; float Sscale = abs(150.0 * persp.translateY) + 10.0; oceanPlanel. scaleX = $scale; oceanPlanel.scaleY = Sscale; oceanPlanel.scaleZ = Sscale; Естественно, вы может отредактировать такой expression или создать свой (или даже не использовать его вовсе), но просто помните о том, что надо целиться в центр океана.

Интерактивная визуализация морской поверхности Так как увидеть деформацию, вызванную displacement, можно только в процессе рендеринга, а анимировать поверхность океана хочется все-таки, более или менее, интерактивно, очень неплохо было бы видеть движение волн хоть в каком-нибудь виде. Напомню, что в отличие от отстойников, пардон, от объектов типа Pond, океан не есть ни контейнер, ни мягкое тело, ни вообще объект динамики. Поэтому для визуализации анимированной поверхности применяется утилита Height Field, о которой уже шла речь выше.

Выберите ваш океан и выполните Fluid Effects=>Ocean=>Add Preview Plane.

Возникнет, мягко говоря, скромный кусочек тряпочки в начале координат. Однако этот кусочек тряпочки в реальном времени отображает деформацию большой поверхности и, следовательно, служит визуальным и интерактивным представлением движения океанских волн. Тряпочка это стандартная утилита Height Field, автоматически созданная и присоединенная к соответствующим атрибутам материала oceanShader.

Примечание. Напомню, что утилита Height Field применяется для визуального отображения черно-белых текстур в виде «вспученной»(displacement) поверхности, деформированной с помощью текстуры. С моей точки зрения, название Height Field весьма неудачное, так как путается с динамическими полями или, хуже того, с телевизионными полуполями. Displacement или Height Preview Plane было бы удачнее. Поэтому до конца главы я ограничусь скромной «тряпочкой».

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

Атрибут Height Scale определяет, насколько тряпочка дополнительно растягивается по вертикали по сравнению с реальным размером волн.

Кстати, включив галку Create Preview Plane в Option Box операции Create Ocean, можно автоматически создавать Preview Plane для вновь созданного океана.

Динамическая анимация морской поверхности Буйки, локаторы и прочий водоплавающий мусор создается и анимируется для океана точно так же, как для объектов типа Pond. Поэтому пункты меню для работы с этими плавсредствами для Ocean и Pond идентичны.

А вот про реализацию Wake можно поговорить подробнее.

Выберите ваш океан и выполните Fluid Effects=>Ocean=>Create Wake.

Возникнет типичный контейнер, вместе со сферическим источником посередине. Если анимировать положение источника, на Preview Plane можно увидеть явственный бурун. Вы можете прицепить источник к любому плавсредству и создавать следы за движущимися объектами.


⇐ вернуться назад | | далее ⇒