настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Настройка Ρ€ΡƒΠΊ Π² КБ Π“Πž

Π’Π΅ΠΌΠ° Π½Π΅ самая простая, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ настройка полоТСния Ρ€ΡƒΠΊ Π² CS GO упираСтся Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΡƒΡŽ модСль Π½Π° основС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ сСтки ΠΏΠΎ Ρ‚Ρ€Π΅ΠΌ осям:

Богласны, информация слоТная для понимания, Π½ΠΎ ΠΌΡ‹ постараСмся ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ максимально ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈ наглядно.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ стандартныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для настройки Ρ€ΡƒΠΊ Π² кс Π³ΠΎ. НачнСм с ΠΏΠ΅Ρ€Π²ΠΎΠΉ β€” viewmodel_presetpos. Она ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ располоТСниС, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΡƒ мСню. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ Ρ‚Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° настройки:

1 β€” стандартноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;

3 β€” классичСский Π²ΠΈΠ΄ ΠΊΠ°ΠΊ Π² CS 1.6.

ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ Π² консоли ΠΊΠ°ΠΊ viewmodel_presetpos 1 (2 ΠΈΠ»ΠΈ 3).

Π”Π°Π»Π΅Π΅ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ измСнСнию полоТСния Ρ€ΡƒΠΊ Π½Π° экранС:

Для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ динамичСски ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ конСчности ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ дискомфорт, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ прСдусмотрСли ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ cl_bob_lower_amt

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΡ‚ 5 Π΄ΠΎ 30 Π΅Π΄ΠΈΠ½ΠΈΡ† (Ρ†ΠΈΡ„Ρ€Π° добавляСтся послС amt Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»). Π§Π΅ΠΌ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ β€” Ρ‚Π΅ΠΌ мСньшС тряска.

Π‘Ρ…ΠΎΠΆΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ выполняСт другая ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” viewmodel_fov. Однако ΠΎΠ½Π° позволяСт ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ ΠΈΠ³Ρ€ΠΎΠΊΠ°.

Π­Ρ‚ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ стандартных ΠΊΠΎΠΌΠ°Π½Π΄ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ настройку Ρ€ΡƒΠΊ Π² КБ Π“Πž Ρ‡Π΅Ρ€Π΅Π· консоль.

ΠŸΡ€Π΅ΡΠ΅Ρ‚Ρ‹ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Если Π½Π΅Ρ‚ ТСлания ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ²Ρ‹Ρ€ΡΡ‚ΡŒΡΡ Π² настройках, ΠΈΠ»ΠΈ хочСтся ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… шаблонов настройки располоТСния Ρ€ΡƒΠΊ Π² CS GO, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:

ПолноС смСщСниС Π² ΠΏΡ€Π°Π²ΡƒΡŽ сторону, Ρ‚Π°ΠΊΠΆΠ΅ максимально ΠΎΡ‚Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΠΊ:

Π‘Π»Π΅Π³ΠΊΠ° доработанная стандартная раскладка настройки Ρ€ΡƒΠΊ ΠΈ ΠΏΡ€ΠΈΡ†Π΅Π»Π° Π² КБ Π“Πž с нСбольшим ΠΎΡ‚Π΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ€ΡƒΠΊ:

viewmodel_offset_x 2
viewmodel_offset_y 2
viewmodel_offset_z 2
viewmodel_fov 68

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ выглядит Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΡ‚Π΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ

А Ρ‚Π°ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ срСдниС значСния Π΄Π»ΠΈΠ½Ρ‹ Ρ€ΡƒΠΊ.

Π£Π±ΠΈΡ€Π°Π΅ΠΌ колСбания

КолСбания ΠΏΡ€ΠΈ Π·Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавишС Shift (Ρ‡Π΅ΠΌ Π½ΠΈΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Ρ‚Π΅ΠΌ мСньшС тряска):

cl_viewmodel_shift_left_amt 0.5-2
cl_viewmodel_shift_right_amt 0.25-2

КолСбания Π²ΠΎ врСмя классичСского Π±Π΅Π³Π° (выставлСны срСдниС значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с шагом 0.1):

cl_bob_lower_amt 5
cl_bobamt_lat 0.1
cl_bobamt_vert 0.1
cl_bobcycle 0.98

На этом стандартныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Ρ‹. И Π΄Π°, ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ всС Π΅Ρ‰Π΅ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ нСпонятными. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ.

ΠšΠ°Ρ€Ρ‚Ρ‹ для настройки Ρ€ΡƒΠΊ Π² CS GO

Одна ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… β€” crashz’ Viewmodel Generator, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚Ρ‹ моТСшь ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎ этой ссылкС. НС бойся β€” ΠΎΠ½Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· мастСрской. А ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² ΠΈΠ³Ρ€Π΅, ΠΌΡ‹ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π»ΠΈ Π² этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅.

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΊΠ°Ρ€Ρ‚Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

Она позволяСт максимально Ρ‚ΠΎΡ‡Π½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ конСчностСй, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡΡΡŒ Π½Π° шаг с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ наглядно ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ показались слишком слоТными.

Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°Ρ€Ρ‚Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Π΅ Π±ΠΈΠ½Π΄Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… PRO-Π³Π΅ΠΉΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π² свободный доступ.

А для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ настройку Ρ€ΡƒΠΊ Π‘ΠΈΠΌΠΏΠ»Π° Π² CS GO β€” Π²ΠΎΡ‚ поТалуйста:

viewmodel_recoil 0; cl_righthand 1

ΠœΡ‹ Π±Ρ‹ Π½Π΅ совСтовали максимально ΡΡ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π±ΠΈΠ½Π΄, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ свои прСдпочтСния. ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ вряд Π»ΠΈ Π²Π°ΠΌ понравится Ρ‡ΡƒΠΆΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π³Π΅ΠΉΠΌΠ΅Ρ€ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠ» ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΎΠ΄ΠΈΠ½ дСнь.

Если ΡƒΠΆΠ΅ совсСм ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС подряд, Ρ‚ΠΎ здСсь ΠΈ ΠΏΡ€ΠΈΡ†Π΅Π» прСдставлСн β€” просим ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ:

Π‘ΠΈΠ½Π΄ носит ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€, Π½ΠΎ соотвСтствуСт Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ сСзона 2021 Π³ΠΎΠ΄Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Настройки CS:GO: Viewmodel

настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ viewmodel?

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚Ρ€Π΅Ρ… прСдустановлСнных настроСк, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· консоль. ВсСго Π΅ΡΡ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ дСсятка ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. Π’ΠΎΡ‚ ΠΎΠ½ΠΈ:

Π’ процСссС настройки каТдая ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ вводится Π² консоль вмСстС с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ своё (ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… значСниях Π΄Π°Π»Π΅Π΅) Π° ΠΏΠΎΠΊΠ° Π΄Π΅Ρ€ΠΆΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: viewmodel_presetpos 1. Π•Π΅ Π²Π²ΠΎΠ΄ «сбросит» viewmodel ΠΊ стандартному Π²ΠΈΠ΄Ρƒ, Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ экспСримСнтов тСбя Π½Π΅ устроят πŸ™‚

ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ viewmodel?

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Ну Ρ‡Ρ‚ΠΎ, Ρ€Π΅ΡˆΠΈΠ»ΡΡ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ с настройками viewmodel? Π’ΠΎΠ³Π΄Π° Π²ΠΎΡ‚ Ρ‚Π΅Π±Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ совСт ΠΈ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Π‘Π½Π°Ρ‡Π°Π»Π° совСт: создай Π±ΠΈΠ½Π΄ для смСны cl_righthand. На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… позициях ΠΏΡƒΡˆΠΊΠ° справа ΠΈΠ»ΠΈ слСва ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ области ΠΎΠ±Π·ΠΎΡ€Π°, поэтому Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ…Ρƒ β€” ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π°. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cl_righthand 0/1 биндят Π½Π° Π±ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ настроСк viewmodel:

Если Ρ‚Ρ‹ Ρ„Π°Π½Π°Ρ‚Π΅Π΅ΡˆΡŒ ΠΏΠΎ кибСрспорту ΠΈΠ»ΠΈ просто Π½Π΅ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΠΊΠΎΠΏΠ°Ρ‚ΡŒΡΡ Π² настройках viewmodel β€” всСгда ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° Π·Π²Π΅Π·Π΄Π½ΠΎΠ³ΠΎ кибСрспортсмСна.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΠΏΠΎ вСрсии HLTV.org, ΠœΠ°Ρ‚ΡŒΠ΅ ZywOo Π­Ρ€Π±ΠΎ, Π±Π΅Π³Π°Π΅Ρ‚ с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ настройками viewmodel

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

[Top 10] Π›ΡƒΡ‡ΡˆΠΈΠ΅ настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра CSGO, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ профСссионалами

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ функция, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² ΡΠΎΡ€Π΅Π²Π½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ³Ρ€Π΅, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ CSGO, Π½ΠΎ Π΅Π΅ влияниС ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ ΠΈ мСняСт ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ³Ρ€Ρ‹. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ€ΡƒΠΊΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, которая Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ΄Π½Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ простая Π²Π΅Ρ‰ΡŒ, Π½ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ.

Иногда такая настройка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ профСссионалы CSGO Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свои настройки ViewModel. И Ρƒ мСня Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 10 Π»ΡƒΡ‡ΡˆΠΈΡ… настроСк ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра CSGO, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ профСссионалы для вас, рСбята. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΡ‹Π³Ρ€Π°ΡŽΡ‚ ΠΈ станут ΠΏΡ€ΠΎΡ„ΠΈ.

10) EpitΓ‘cio Β«TACOΒ» de Melo

Настройки Viewmodel (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль CSGO):

9) Π€ΠΈΠ»ΠΈΠΏ Β«Π›Π°ΠΊΠΈΒ» Эвальд

Настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль):

8) РассСл Β«TwistzzΒ» Π’Π°Π½ Π”Π°Π»ΠΊΠ΅Π½

Twistzz ViewModel довольно проста. Для ΠΏΡ€Π°Π²ΡˆΠΈ это ViewModel Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ экрана. ΠŸΠΎΡ…ΠΎΠΆΠ΅, ΠΎΠ½ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ срСдний Π²ΠΈΠ΄ Ρ‡Π΅Ρ‚ΠΊΠΈΠΌ, размСстив модСль Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль):

7) Π’Π°Ρ€ΠΈΠΊ Β«Π’Π°Ρ€ΠΈΠΊΒ» Π§Π΅Π»ΠΈΠΊ

Настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль):

6) КСнни Β«kennySΒ» Π¨Ρ€Π°Π±

Настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль):

5) ΠœΠ°Ρ€ΡΠ΅Π»ΠΎ Β«coldzeraΒ» Π”Π°Π²ΠΈΠ΄

Coldzera ViewModel находится Π² ΠΏΡ€Π°Π²ΠΎΠΉ части экрана. МодСль Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сдвинута Π²Π½ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΎΠ². ΠŸΡ€Π°Π²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ViewModel Ρ…ΠΎΡ€ΠΎΡˆΠΎ лоТится Π½Π° Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΡƒΡŽ Ρ€ΡƒΠΊΡƒ.

Настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль):

4) Π“Π°Π±Ρ€ΠΈΡΠ»ΡŒ Β«FalleNΒ» Π’ΠΎΠ»Π΅Π΄ΠΎ

Настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль):

3) Никола Β«NiKoΒ» ΠšΠΎΠ²Π°Ρ‡

Нико β€” ΠΏΡ€Π°Π²ΡˆΠ°; Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΅Π³ΠΎ ViewModel Ρ‚ΠΎΠΆΠ΅ такая ΠΆΠ΅, правая. Нико располоТил модСль Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΡ€Π°Π²ΠΎΠΉ сторонС экрана ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сдвинул Π΅Π΅ Π²Π²Π΅Ρ€Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΅ΠΌΡƒ Ρ‡Π΅Ρ‚ΠΊΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ†Π΅Π½Ρ‚Ρ€ экрана. Π•Π³ΠΎ ΠΏΠΎΠ»Π΅ зрСния Ρ‚Π°ΠΊΠΆΠ΅ составляСт 65, Ρ‡Ρ‚ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… упомянутых ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ².

Настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль):

2) АлСксандр Β«s1mpleΒ» ΠšΠΎΡΡ‚Ρ‹Π»Π΅Π²

s1mple ViewModel Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½ΠΈΠΊ, простой. МодСль пистолСта для ΠΏΡ€Π°Π²ΡˆΠ΅ΠΉ большС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° ΠΏΡ€Π°Π²ΡƒΡŽ сторону ΠΈ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ модСль просмотра CSGO. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Ρƒ ΠΆΠ΅ модСль просмотра CSGO Π² своих ΠΈΠ³Ρ€Π°Ρ….

Настройки ΠΌΠΎΠ΄Π΅Π»ΠΈ просмотра (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль):

1) АндрСас Β«Xyp9xΒ» Π₯ёйслСт

Настройки ViewModel (Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² консоль)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ВсС ΠΏΡ€ΠΎ настройку Ρ€ΡƒΠΊ Π² КБ:Π“Πž

ΠšΠ°Ρ€Ρ‚Ρ‹ КБ:Π“Πž для настройки Ρ€ΡƒΠΊ

настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

НаиболСС простым ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ являСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠ°Ρ€Ρ‚Π° КБ:Π“Πž для настройки Ρ€ΡƒΠΊ. НСобходимо ΠΈΠ· ΠœΠ°ΡΡ‚Π΅Ρ€ΡΠΊΠΎΠΉ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π°Π»Π΅Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. ВсС, Ρ‡Ρ‚ΠΎ потрСбуСтся, это Π·Π°ΠΉΡ‚ΠΈ Π² ΠΈΠ³Ρ€Π΅ Π² ΠΌΠ°ΡΡ‚Π΅Ρ€ΡΠΊΡƒΡŽ ΠΈ ввСсти Π² ΠΎΠΊΠ½Π΅ поиска Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ (ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка). ΠŸΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΠΊ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вас Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ устроит.

Π‘ΠΌΠ΅Π½Π° Ρ€ΡƒΠΊ Π² КБ:Π“Πž Ρ‡Π΅Ρ€Π΅Π· консоль

настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² настройках ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ консоли. ΠŸΡ€ΠΈΠ΄Π΅Ρ‚ΡΡ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€ΡƒΠΊ Π² КБ:Π“Πž, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ ΠΈΡ… Π²ΠΈΠ΄ΠΈΠΌΠΎΠ΅ Π½Π° экранС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

viewmodel_offset_z пСрСмСстит ΠΏΠΎ экрану Ρ€ΡƒΠΊΠΈ снизу Π²Π²Π΅Ρ€Ρ… Π»ΠΈΠ±ΠΎ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Минимально Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ установит Ρ€ΡƒΠΊΠΈ Π² самой Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π° максимум, соотвСтствСнно, Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ. Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ допускаСтся Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π›ΡƒΡ‡ΡˆΠ΅ Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° максимум, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€ΡƒΠΊΠΈ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ экрана, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π² это случаС Π·Π°ΠΉΠΌΡƒΡ‚ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ экрана.

viewmodel_fov практичСски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° offset_y. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн ΠΎΡ‚ 54 Π΄ΠΎ 68. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€ΡƒΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π²ΠΏΠ΅Ρ€Π΅Π΄-Π½Π°Π·Π°Π΄, Π½ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ отличаСтся. ЀактичСски с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пСрСмСщаСтся ΠΊΠ°ΠΌΠ΅Ρ€Π°, поэтому, большС установлСнный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ – Π½Π° Π±ΠΎΠ»Π΅Π΅ Π΄Π°Π»Π΅ΠΊΠΎΠΌ расстоянии ΠΊΠ°ΠΌΠ΅Ρ€Π°. Π›ΡƒΡ‡ΡˆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ значСния этой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹.

Π‘ΠΈΠ½Π΄ Π½Π° Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ смСну Ρ€ΡƒΠΊ Π² КБ:Π“Πž

настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

bind l Β«toggle cl_rightehand 0 1Β»,

Π³Π΄Π΅ Β«lΒ» Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρƒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ. Π’ случаС, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ случайно Π·Π°Π±ΠΈΠ½Π΄ΠΈΡ‚Π΅ Π½Π΅ Ρ‚Ρƒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ, Π½ΡƒΠΆΠ½ΠΎ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ unbind Β«Ρ‚Π° клавиша, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈΒ» toggle cl_righthand 1 0, ΠΈ Π±ΠΈΠ½Π΄ Π±ΡƒΠ΄Π΅Ρ‚ снят.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ способы, Π²Ρ‹ смоТСтС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΠΊ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ располоТСниС. Если внСсСнныС измСнСния вас ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π½Π΅ ΡƒΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚, всС ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ДСлаСтся это ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ viewmodel_offset_(x,y,z) 0, ΠΈ всС внСсСнныС измСнСния ΠΎΡ‚ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, Π° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΠΊ устанавливаСтся Π² ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π Π΅ΡˆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ большС всСго, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Android Architecture Components. Π§Π°ΡΡ‚ΡŒ 4. ViewModel

настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ViewModel β€” ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния ΠΈ управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, связанными с прСдставлСниСм, Π° Π·Π°ΠΎΠ΄Π½ΠΎ, ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ нас ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанной с пСрСсозданиСм Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ‚ΠΈ Π²ΠΎ врСмя Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€ΠΎΡ‚ экрана ΠΈ Ρ‚.Π΄. НС стоит Π΅Π³ΠΎ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Ρƒ onSaveInstanceState, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ систСма ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ Π½Π°ΡˆΡƒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ‚ΠΈ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ViewModel Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ ΠΈ Π½Π΅ сохранит своС состояниС. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΆΠ΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ViewModel ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ синглтон с ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ экзСмпляров классов ViewModel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ ΠΏΠΎΠΊΠ° Π΅ΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ экзСмпляр нашСй Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ‚ΠΈ ΠΈ освободит рСсурсы послС ΡƒΡ…ΠΎΠ΄Π° с Π½Π΅Π΅ (всС Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, Π½ΠΎ выглядит ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ‚Π°ΠΊ). Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ любоС количСство ViewModel ΠΊ нашСй Activity(Fragment).

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ состоит ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… классов: ViewModel, AndroidViewModel, ViewModelProvider, ViewModelProviders, ViewModelStore, ViewModelStores. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ViewModel, AndroidViewModel ΠΈ для получСния истанца с ViewModelProviders, Π½ΠΎ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΌΡ‹ повСрхностно рассмотрим всС классы.

Класс ViewModel, сам ΠΏΠΎ сСбС прСдставляСт абстрактный класс, Π±Π΅Π· абстрактных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ protected ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ onCleared(). Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ собствСнного ViewModel, Π½Π°ΠΌ всСго лишь Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ свой класс ΠΎΡ‚ ViewModel с конструктором Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ это всС. Если ΠΆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ рСсурсы, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ onCleared(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ ΠΊΠΎΠ³Π΄Π° ViewModel Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ доступна ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½Π°. Как ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΡ€ΠΎ LiveData, Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ observeForever(Observer), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явной отписки, ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π· Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onCleared() умСстно Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘Ρ‚ΠΎΠΈΡ‚ Π΅Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎ избСТания ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π° View ΠΈΠ»ΠΈ Context Activity ΠΈΠ· ViewModel. Π’ Ρ†Π΅Π»ΠΎΠΌ, ViewModel Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ изолированная ΠΎΡ‚ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС появляСтся вопрос: А ΠΊΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π°ΠΌ ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ прСдставлСниС (Activity/Fragment) ΠΎΠ± измСнСниях Π² Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…? Π’ этом случаС Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π½Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ LiveData, всС измСняСмыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ LiveData, Ссли ΠΆΠ΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ProgressBar, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ MutableLiveData ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ\ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ViewModel. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Для получСния ссылки Π½Π° наш экзСмпляр ViewModel ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ViewModelProviders:

Класс AndroidViewModel, являСт собой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ViewModel, с СдинствСнным ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ β€” Π² конструкторС Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Application. ЯвляСтся довольно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Π² случаях, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Location Service ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ Application Context. Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌ СдинствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅, это Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ наслСдуСм наш ViewModel ΠΎΡ‚ ApplicationViewModel. Π’ Activity/Fragment ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ViewModel.

Класс ViewModelProviders, являСт собой Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ of ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ViewModelProvider. АдаптированныС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Activity ΠΈ Fragment, Π° Ρ‚Π°ΠΊΠΆΠ΅, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свою Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ViewModelProvider.Factory, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ DefaultFactory, которая являСтся Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ классом Π² ViewModelProviders. Пока Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ android.arch Π½Π΅Ρ‚.

Класс ViewModelProvider, собствСнно говоря класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наш инстанс ViewModel. НС Π±ΡƒΠ΄Π΅ΠΌ особо ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ здСсь, Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΎΠ½ являСт Ρ€ΠΎΠ»ΡŒ посрСдника с ViewModelStore, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚ наш интанс ViewModel ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° get, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ сигнатуры get(Class) ΠΈ get(String key, Class modelClass). Бмысл Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ нСсколько ViewModel ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Activity/Fragment Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. ΠœΠ΅Ρ‚ΠΎΠ΄ get Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… ΠΏΠΎ String key, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ формируСтся ΠΊΠ°ΠΊ: Β«android.arch.lifecycle.ViewModelProvider.DefaultKey:Β» + canonicalName

Класс ViewModelStores, являСт собой Ρ„Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, напомню: Π€Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт интСрфСйс для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΠΎ оставляСт подклассам Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ класс ΠΈΠ½ΡΡ‚Π°Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ, позволяСт классу Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ инстанцированиС подклассам. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ android.arch присутствуСт ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ интСрфСйс, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ΄ΠΈΠ½ подкласс ViewModelStore.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ViewModel Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ нСбольшоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ радиус ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, находится Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π² этом ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. А Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°ΡŽΡ‰Π΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ WiFi network, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π½Π΅ΠΌΡƒ, Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π² радиусС, Π²Π½Π΅ зависимости ΠΎΡ‚ физичСских ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ настройки viewmodel Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Для Π½Π°Ρ‡Π°Π»Π° создадим Π΄Π²Π΅ LiveData для отслСТивания Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ WiFi сСти:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ViewModel, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ нас Π΅ΡΡ‚ΡŒ условиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ зависит ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… с Π΄Π²ΡƒΡ… LifeData, Π½Π°ΠΌ идСально ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ MediatorLiveData ΠΊΠ°ΠΊ Ρ…ΠΎΠ»Π΄Π΅Ρ€ самого значСния, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сСрвисы Π½Π°ΠΌ Π½Π΅Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ, поэтому подпишСмся ΠΊ MediatorLiveData Π±Π΅Π· привязки ΠΊ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ observeForever. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onCleared() Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ отписку ΠΎΡ‚ Π½Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ removeObserver. Π’ свою ΠΆΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ LiveData Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡ‚ΡŒ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ MutableLiveData, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ подписано нашС прСдставлСниС.

И нашС прСдставлСниС:

Π’ ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΌΡ‹ подписываСмся Π½Π° MutableLiveData, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅nΠΎΠ΄Π° getStatus() ΠΈΠ· нашСго ViewModel. А Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π½ΠΈΠΌ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ сохранСния Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ нСсколько ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ RuntimePermission ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° состояниС GPS. Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΠ΄ Π² Activity получился довольно ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ, Π² случаС слоТного UI, Π³ΡƒΠ³Π» Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² сторону создания ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π΅Ρ€Π°(Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·Π»ΠΈΡˆΠ΅ΡΡ‚Π²ΠΎ).

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ использовались Ρ‚Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠ°ΠΊ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *