
Russian: 
Всем привет!
В этом видео я расскажу как минимальными усилиями, всего в несколько строчек кода,
создать эффект параллакс в unity
Прежде всего нам понадобится фон,
разделенный на несколько слоев
я выбрал статическую картинку
и сейчас нарежу её на слои в фотошопе
для того,чтобы изображение на стыках совпадало
мне необходимо отзеркалить его
дублирую его и вставляю отраженную копию справа
аналогичным образом преобразую все остальные картинки.
в итоге получаются 4 похожих файла

English: 
Hello everyone!
In this video I will tell you how with minimal effort, in just a few lines of code,
create parallax effect in unity
First of all we need a background,
divided into several layers
I chose a static picture
and now I will cut it into layers in Photoshop
so that the image at the joints matches
I need to mirror it
duplicate it and paste the mirrored copy to the right
in the same way will transform all the other pictures
as a result, 4 similar files are obtained

English: 
now we will configure the import of images into the unity
TextureType = sprite2D
MeshType = fullRect
wrapMode = repeat
this is the main thing to put
set pixelsPerUnit small enough
so that our images take up almost the entire screen
in my case 30 was enough
drag our objects onto the stage and adjust the order of the layers
so that the first layer is behind the others, and the last one is in front of the others
now let's write the first script
we will set a simple horizontal movement in it
depending on pressing the horizontal keys
we will move in the easiest way
namely Transform.Translate
a movable object we will have a camera
drag the script to it and run ..
now we will drag our images in the hierarchy to the camera

Russian: 
теперь настроим импорт изображений в юнити
TextureType = sprite2D
MeshType = fullRect
wrapMode = repeat
это основное,что надо поставить
pixelsPerUnit поставим достаточно небольшим,
так, чтобы наши изображения занимали почти весь экран
в моём случае 30 хватило
перетаскиваем наши объекты на сцену и настраиваем порядок слоев
так чтобы первый слой был позади остальных, а последний - впереди остальных
теперь напишем первый скрипт
в него будем задавать простое движение по горизонтали
в зависимости от нажатия горизонтальных клавиш
двигать мы будем самым простым способом
а именно Transform.Translate
движимым объектом у нас будет камера
перетянем скрипт к ней и запустим..
теперь перетянем наши изображения в иерархии на камеру

English: 
that is, we will make them children of it
now for each of our background images you need to create your own material
let's call them like images, that is, b1, b2, b3, b3
select the unlit material category and here transparent, that is, transparent
instead of moving the object,
we will change the offset value of the material properties,
linked to the image
Well, now let's just create three duplicates of the first material
keyboard shortcut ctrl + d
for each of them, drag the corresponding image
that is, for b4 - b4, for b3 - b3 and so on
now in properties of SpriteRenderer
each of our images
we also need to drag the materials we just created
i.e. b1, b2, b3, b4
now let's create the most important script and name it Parallax
the shift will be calculated based on the position of the tracked transform

Russian: 
то есть сделаем их дочерними от неё
теперь для каждого из наших фоновых изображений надо создать свой материал
назовём их как и изображения, то есть b1, b2, b3, b3
выберем категорию материала unlit и здесь transparent, то есть прозрачные
вместо того,чтобы сдвигать объект,
мы будем менять значение offset у свойств материала,
привязанного к изображению
ну а теперь просто создадим три дубликата у первого материала
сочетанием клавиш ctrl + d
для каждого из них перетянем соответствующее изображение
то есть для b4 - b4, для b3 - b3 и так далее
теперь в свойствах SpriteRenderer
у каждого из наших изображений
надо также перетянуть созданные нами только что материалы
то есть b1, b2, b3, b4
теперь создадим самый главный скрипт и назовём его Parallax
сдвиг будет рассчитываться исходя из позиции отслеживаемого трансформа

English: 
in our case it will be a camera
which is the parent object
so we look for it through transform.root
we will calculate the shift vector based on the position of the tracked object
I just divide it by some value, for example 100
and divide also by an additional value, which I will call scale
which will determine how much I need to increase or decrease
that is, the larger it is, this is scale, the further the object is
well in our case 1 means no decrease,
that is, the nearest object
2 - slightly reduced, 8 - this is the most distant object, well, in our case - mountains.
and they will move the slowest
well that's it, drag the objects, set the scale
run, check
we see that the mountains are moving faster than the background
this suggests that I mixed up the order of layers b4 and b1
changing the values back

Russian: 
в нашем случае это будет камера
которая является родительским объектом
так что мы её ищем через transform.root
вектор сдвига мы будем рассчитывать исходя из позиции отслеживаемого объекта
я её просто делю на какое то значение, например 100
и делю также на дополнительное значение, которое я назову scale
которой будет определять насколько мне надо увеличить или уменьшить
то есть чем оно больше будет, это scale, тем дальше объект
ну в нашем случае 1 это значит никакого уменьшения,
то есть самый ближний объект
2 - чуть уменьшено, 8 - это самый далекий объект,ну в нашем случае - горы.
и они будут двигаться наиболее медленно
ну все, перетягиваем объекты, выставляем scale
запускаем, проверяем
видим,что горы у нас ездят быстрее,чем ближний фон
это говорит о том,что я перепутал порядок слоев b4 и b1
меняю значения обратно

English: 
that is, b4 is the near layer, and b1 is the far
well, that's it, something like that
thanks for your attention .. and bye

Russian: 
то есть b4 у нас это ближний слой, а b1 - дальний
нуу вроде всё, как то так
спасибо за внимание .. и пока
