[Unity] Playmaker 플레이메이커 참고 북마크

Hutong 사 홈페이지

Hutong사 유튜브

여러 튜토리얼들 

템플릿 활용하기


디버그 중 State를 알트+클릭하면 임시로 트랜지션이 되도록 해볼 수 있다

트랜지션 부분을 알트+클릭하면 그 이벤트가 연결된 다음 스테이트로 넘어간다

Debug youtube

커스텀 액션 만들기

스크립트에서 커스텀 액션 접근하기

스크립트에서 플레이메이커 접근하기


State Machine 디자인하기
-FSM 디스크립션에 이 FSM이 어떤 behavior를 하게될지 서술해본다. 
-그래프뷰에서 대강 배치를 하면서 흐름을 크게 그려본다
-실제로 액션을 넣기 전에 스테이트에 Debug Log를 추가하면서 알트클릭으로 체크하며 테스트한다
-작은 여러 FSM들이 모여 큰 FSM이 되도록
-스탠다이즈된 이벤트 네임을 쓴다 “activate” “turnOn”

NoExit 예제

인벤토리 예제

애니메이션 기능 튜토리얼

[Unity] Playmaker 플레이메이커 공식 튜토리얼 리스트

12 videos

01 - States Example 1 - Light Switch

02 - States Example 2 - Open and Close

03 - Triggers

5 - Breakable Objects

06 - Platform Color Change

07 - Global Variables, Events and Managers - Health Pickup

09 - Pop Up Manager


10 - Platform Puzzle Chest Opening Game

11 - Access Control Clicking and Quests

Click Manager

12 - Connecting Scripts to Playmaker

Level Load

[Unity] 플레이메이커 Playmaker 이벤트 리스트

System Events

Core Events

NOTE: "game object" refers to the game object that owns the FSM.

EventDescriptionUnity Docs
STARTSent when the state machine is enabled.N.A.
FINISHEDSent when all actions on the active state have finished. See Actions.N.A.
LEVEL LOADEDSent after a new level is loaded.OnLevelWasLoaded
BECAME VISIBLESent when the game object becomes visible by any camera.OnBecameVisible
BECAME INVISIBLESent when the game object is no longer visible by any camera.OnBecameInvisible


Physics Events

NOTE: After a COLLISION or TRIGGER event you can use GetCollisionInfoGetTriggerInfo, or GetControllerHitInfo to get more info on the collision/trigger event.

COLLISION ENTERSent when the game object first collides with another object.OnCollisionEnter
COLLISION EXITSent when the game object stops colliding with another object.OnCollisionExit
COLLISION STAYSent while the game object is colliding with another object.OnCollisionStay
TRIGGER ENTERSent when the game object enters a trigger volume.OnTriggerEnter
TRIGGER EXITSent when the game object exits a trigger volume.OnTriggerExit
TRIGGER STAYSent while the game object stays inside a trigger volume.OnTriggerStay
CONTROLLER COLLIDER HITSent when the character controller on the game object collides with an object.OnControllerColliderHit
COLLISION ENTER 2DSent when the game object first collides with a 2D Collider.OnCollisionEnter2D
COLLISION EXIT 2DSent when the game object stops colliding with a 2D Collider.OnCollisionExit2D
COLLISION STAY 2DSent while the game object is colliding with a 2D Collider.OnCollisionStay2D
TRIGGER ENTER 2DSent when the game object enters a 2D Trigger.OnTriggerEnter
TRIGGER EXIT 2DSent when the game object exits a 2D Trigger.OnTriggerExit
TRIGGER STAY 2DSent while the game object stays inside a 2D Trigger.OnTriggerStay
PARTICLE COLLISIONSent when a particle hits a Collider. See unity docs for more info.OnParticleCollision
JOINT BREAKSent when a Joint attached to the same game object breaks.OnJointBreak
JOINT BREAK 2DSent when a Joint2D attached to the same game object breaks.OnJointBreak2D


Mouse Events

TIP: Mouse events are useful in state machines that control GUIText or GUITexture components. See GUI Element Actions.

MOUSE DOWNSent when the mouse clicks on the game object.OnMouseDown
MOUSE DRAGSent while the mouse button is down and over the game object.OnMouseDrag
MOUSE ENTERSent when the mouse rolls over the game object.OnMouseEnter
MOUSE EXITSent when the mouse rolls off the game object.OnMouseExit
MOUSE OVERSent while the mouse is over the game object.OnMouseOver
MOUSE UPSent when the mouse button is released over the game object.OnMouseUp
MOUSE UP AS BUTTONSent when the mouse button is released over the same GUI Element or Collider it was pressed on.OnMouseUpAsButton


Application Events

APPLICATION FOCUSSent when the Application gets focus.
APPLICATION PAUSESent when the Application is paused.
APPLICATION QUITSent right before the Application quits.


UI Events

NOTE: The owner needs the appropriate UI Components to send UI Events. If you want to target other GameObjects use UI Actions.

UI CLICKSent when a Button is pressed. Game object needs a Button component.
UI BEGIN DRAGSent before a drag is started.
UI DRAGSent every time the pointer is moved during dragging.
UI END DRAGSent when a drag is ended.
UI DROPSent when an object accepts a drop.
UI POINTER UPSent when a mouse click is released.
UI POINTER CLICKSent when a click is detected.
UI POINTER DOWNSent during ongoing mouse clicks until release of the mouse button
UI POINTER ENTERSent when the mouse begins to hover over the GameObject.
UI POINTER EXITSent when the mouse stops hovering over the GameObject.
UI BOOL VALUE CHANGEDSent when a Toggle value changes. Game object needs a Toggle component. Use Get Event Bool Data to get the value.
UI FLOAT VALUE CHANGEDSent when a Slider or Scrollbar value changes. Game object needs a Slider or Scrollbar component. Use Get Event Float Data to get the value.
UI INT VALUE CHANGEDSent when a Dropdown selection changes. Game object needs a Dropdown component. Use Get Event Int Data to get the value.
UI VECTOR2 VALUE CHANGEDSent when a ScrollRect value changes. Game object needs a ScrollRect component. Use Get Event Vector2 Data to get the value.
UI END EDITSent when when editing of an InputField has ended. Owner needs an InputField component.


User Events

User events are usually named for clarity: Open Door, Turn On, Turn Off etc.

You can make/edit these events in the Event Manager.

Sending Events

There are a few ways to send events to an FSM:

  • Using Actions
  • Using Animation Events
  • Sending event from scripts.

Sending Events From Actions

The most basic Actions to send an event:

Other Actions send events based on conditions:

Events are essential to the flow of an FSM, so many actions send them.

Global Events

Events can be marked as Global in the Event Manager. Global events can be sent between FSMs.

Do not confuse Global Events with Global Transitions.

Event Data

You can associate data with an event using Set Event Data. For example, you could set the amount of damage to inflict with a Do Damage event.

You can get information and data associated with an event using Get Event Info. For example, you could read the amount of damage associated with a Do Damage event.

*콜리젼과 트리거 차이?