07 — Метання списа¶
🇬🇧 English | 🇺🇦 Українська
Карта /InteractionSystem/Demo/SpearRange/Maps/SpearRange повністю входить до плагіна. У Content Browser увімкніть Show Plugin Content, відкрийте InteractionSystem Content → Demo → SpearRange → Maps → SpearRange та натисніть Play.
На стійці стоять п'ять списів. Коли місцевий гравець із вільною рукою підходить до списа, на ньому з'являється жовта точка Nearby. Наведіть центр екрана на древко: точка зміниться на E, а підсвічування позначить вибраний спис. Натисніть E, оберіть напрямок і натисніть F. Поки ця рука тримає спис, решта списів не показують E або Nearby; після кидка їх знову можна вибирати. У VR друга вільна рука працює незалежно. WASD — рух, миша — огляд. Швидкість кидка — 28 м/с; для далеких мішеней прицілюйтеся вище, враховуючи силу тяжіння.
Влучання вістрям у мішень, землю або огорожу фіксує спис у поверхні. Підійдіть і натисніть E, щоб витягти його та кинути знову. Бічні удари відбиваються природно. Відмітки на полі відраховують 5, 10, 20, 30 та 40 метрів від лінії кидка.
Структура прикладу¶
AInteractionDemoSpearдодає локальне підсвічування, жовту Nearby-точку, значок E та вирівнювання вільного хвату доAInteractionSpearActorіз World. Радіус близькості задає неконфліктна overlap-сфера навколо середини списа; значки бачить лише локальний гравець, а під час утримання вони зникають. Спис стоїть у стійці вертикально, але після захоплення його вісь +X спрямована вперед за поглядом гравця.AInteractionSpearDemoCharacterналаштовує підказки, дистанцію вибору, положення списа в руці та швидкість кидка. Взаємодія використовує публічнийUInteractorComponent.AInteractionSpearDemoGameModeвибирає цей character і спільний HUD демо.SM_Spear— кореневий static mesh довжиною 230 см із simple collision. Він прихований і відповідає за захоплення та фізику. Сім дочірніх компонентів малюють древко, вістря, навершя, руків'я і три латунні обмотки без додаткової колізії. Напрямок вістря — +X; pivot розташований на нижньому кінці.DA_SpearPhysicsзадає масу 2 кг, початкову нерухомість та вирівнювання за швидкістю під час польоту.
Mesh, material instances, data asset і карта зберігаються під /InteractionSystem/Demo/SpearRange. Підсвічування та зображення E/F спільні з InteractionLab, також усередині плагіна. Core не залежить від Demo; поведінка польоту та прикріплення залишається у World.
Для зміни вигляду відкрийте /InteractionSystem/Shared/Materials: M_SurfaceMaster має параметри BaseColor, Roughness, Metallic, а MI_Wood, MI_Metal, MI_Leather, MI_Matte та MI_Painted задають тип покриття. Дочірні MI_* у SpearRange змінюють лише потрібні значення. Наприклад, MI_BrushedSteel успадковує металевість від MI_Metal, а MI_Brass має власний колір. Матеріал підсвічування має окремий базовий граф M_FocusMaster → MI_Glow → InteractionLab/Materials/MI_Focus. Зміна успадкованого параметра батьківського інстанса оновлює його дочірні варіанти без редагування карт.
Сервер керує захопленням, кидком і влучанням. Для перевірки в редакторі можна запустити два клієнти через Play As Client. Порядок виключення демо з packaged game описано в 06 — Демонстраційний контент.