MoveTo - ObjectReference/uk
Jump to navigation
Jump to search
Переміщує поточний об'єкт до місця розташування іншого об'єкту із зазначеним відхиленням.
Синтаксис[edit | edit source]
Function MoveTo(ObjectReference akTarget, float afXOffset = 0.0,
float afYOffset = 0.0, float afZOffset = 0.0, bool abMatchRotation = true) native
Параметри[edit | edit source]
- akTarget: Цільовий об'єкт, до якого потрібно перемістити поточний об'єкт.
- afXOffset: Відхилення від початкових координат по вісі X.
- За замовчуванням: 0.0
- afYOffset: Відхилення від початкових координат по вісі Y.
- За замовчуванням: 0.0
- afZOffset: Відхилення від початкових координат по вісі Z.
- За замовчуванням: 0.0
- abMatchRotation: Булеве значення, яке визначає, чи повинен переміщений об'єкт успадкувати обертання від цільового об'єкту.
- За замовчуванням: True
Повернення значень[edit | edit source]
Немає.
Приклади[edit | edit source]
; Переміщує Боба до його будинку, позначеного маркером BobsHouseMarker
Bob.MoveTo(BobsHouseMarker)
; Переміщує Боба до його будинку, але без успадкування обертань
Bob.MoveTo(BobsHouseMarker, abMatchRotation = false)
; Переміщує Portal на 120 од. перед гравцем, та на 35 од. нижче його зросту
Actor PlayerRef = Game.GetPlayer()
Portal.MoveTo(PlayerRef, 120.0 * Math.Sin(PlayerRef.GetAngleZ()), 120.0 * Math.Cos(PlayerRef.GetAngleZ()), PlayerRef.GetHeight() - 35.0)
Зауваження[edit | edit source]
- Слід уникати використання MoveTo() для розміщення інших акторів у полі зору гравця, оскільки вони раптово з'являтимуться перед очима гравця, що є досить нереалістично. Замість цього, розгляньте можливість розміщення їх поруч, але поза зоною видимості, потім змусьте їх наближатися до гравця самостійно, використовуючи PathToReference (en) або ForceGreet (en).
- Об'єкти групи FLOR (рослини) не можна переміщувати за допомогою MoveTo.
- Використання MoveTo() для переміщення актора до об'єкту групи FURN (меблі) призведе до того, що персонаж одразу займе положення, яке відповідає за «використання» цих меблів, без відтворення відповідних анімацій. Наприклад: PlayerRef.MoveTo(BedReference) змусить гравця лягти на ліжко (без відтворення анімації).
- MoveTo can cause undesirable results when moving an object to another actor, whose X and Y rotation angles are relative to that actor's looking angle, not their rotation relative to the world. Furthermore, as with SetPosition, MoveTo doesn't take uneven terrain into account.
- In order to "straighten" or flatten an object's rotation, set the abMatchRotation parameter to False, or call SetAngle similar to the following:
myObject.MoveTo(Game.GetPlayer()) ;Or, whatever the target of the MoveTo() is
myObject.SetAngle(0.0, 0.0, 0.0)
- Actors moved with this function are always rotated correctly relative to the world.
Поширені проблеми[edit | edit source]
- Якщо актор вже знаходиться в комірці (cell) разом із гравцем, або тільки заходить чи виходить з неї, то метод MoveTo() не спрацює. Оскільки комірки можуть бути досить великими в містах та багатоповерхових будівлях, це може призвести до ситуації, коли діалог відбувається з актором, який знаходиться поза зоною видимості та/або поза межами чутності. Try DisableNoWait(), MoveTo(), EnableNoWait(), EvaluatePackage() sequence. Take care that the sequence happens out-of-sight of the player, such as during passage through a loading door.
- As of 1.9, calling Game.GetPlayer().MoveTo(AnyBedReference) will cause the Player's eyes to become stuck shut. They can only be opened again by using the showracemenu console command, or by reloading the game.
- All movement functions can cause major issues when used on a reference that has had a motion type override applied.
- If you are moving a reference to an unloaded cell, its rotation will not be changed. This is an issue that is expected to affect all movement functions, and it was discovered via disassembly of Skyrim's 2011 release. (SKSE DLL authors will want to know that the problem occurs within the MoveRefrToPosition subroutine.)
Див. також[edit | edit source]
- ForceGreet (Procedure)
- MoveToInteractionLocation - ObjectReference
- MoveToMyEditorLocation - ObjectReference
- ObjectReference Script
- PathToReference - Actor
- SetPosition - ObjectReference
- Unit
Україномовний матеріал Потребує перекладу всього тексту або окремих його частин. |
Language: | English • українська |
---|