В прошлой части мы начали создавать анимированные обои для Sims 4. Подготовили текстуры, создали изображения рыбок, ввели их в файл .package. Теперь пришло время привязать текстуры к самим обоям и заставить их двигаться. Процесс этот долгий и кропотливый, поэтому без лишних слов …
Приступим!
Шейдеры
Открываем в S4S наш рабочий файл .package и переходим к первой Material Definition. Справа на вкладке Data выбираем Material и нажимаем Изменение элементов.
Именно здесь мы будем добавлять наши новые текстуры и определять их поведение на стене.
Кликаем Добавить и в поле Field находим параметр LightOverlay1, в поле Typecode выбираем Texture.
Добавляем второй шейдер. Для него Field выбираем LightOverlay1ScrollSpeed (скорость движения), а Typecode – Float, а поле Count меняем с «1» на «2».
Добавляем третий шейдер. Field -> LightOverlay1UVScale (масштаб текстуры), Typecode – Float, а поле Count меняем с «1» на «2».
Важно: у нас два файла текстур (красная рыбка и изумрудная рыбка). Поэтому данные шейдеры должны быть определены для каждой текстуры.
Ниже добавляем еще три параметра, и в каждом повторяем настройки аналогично первым трем. Но в Field мы устанавливаем параметры со значением 2. LightOverlay1UVScale станет LightOverlay2UVScale, LightOverlay1 превратиться в LightOverlay2 и т.д.
Всего у нас три размера стены, и для каждого варианта есть свой Material Definition (их тоже три в нашем .package). Повторите все шаги по добавлению 6-ти параметров. Иными совами в двух Material Definition должно быть по 6 шейдеров.
Связь с текстурами
Мы добавили общие правила работы текстур. Теперь привяжем их. Откройте первый Material Definition и параметр LightOverlay1. Вы увидите поле Value и список Key. Ключей, которые связывают параметр с файлом текстуры. Чтобы сюда вписать данные, нужно их знать (не придумывать самим).
Переходим к DST файлу с красной рыбкой, открываем вкладку Данные и видим значения Group, Instance, Type.
Откройте Блокнот и запишите их.
Откройте второй DST файл с изумрудной рыбкой и … запишите только параметр Instance. Остальное нам не нужно.
Возвращаемся к Material Definition и параметр LightOverlay1. Вписываем Key, копируя соответствующие данные из Блокнота.
Открываем параметр LightOverlay2 вписываем Group, Type, а Instance вписывает от второго DST файла!!! То значение, что записали отдельно.
Нажмите сохранить и проделайте эти шали в двух других Material Definition. Не перепутайте Instance, а то потом удивитесь, почему рыбки не правильно отображаются в игре.
Сохраните файл .package, откройте снова первый Material Definition и перейдите к LightOverlay1ScrollSpeed. Это определение скорости движение. Первое нулевое значение – это возможность перемещаться объекту влево\вправо. Второе значение – вверх\вниз. Мы выбрали 0,5 (больше значение – быстрее, меньшее – медленнее). Выбрав отрицательное значение во втором случае, мы позволим рыбкам двигаться в обратном направлении. Мы установили на -0,3.