The ZEPETO CharacterController provides functionalities like movement and camera control for the ZEPETO characters loaded into a Scene.
To leverage the CharacterController, one must write the ZEPETO character creation script and then load the character into the Scene.
- Please refer to the following guide. [Create a ZEPETO Character]
Given that the CharacterController has pre-defined character control key mappings compatible with both PC and Mobile inputs, any character loaded can be instantly maneuvered within the Scene, regardless of platform.
In a PC environment, the character and camera can be controlled via keyboard and mouse. Conversely, in a mobile environment, character and camera operation is achievable through a virtual pad, as illustrated in the screenshot below. You have the flexibility to modify the default settings of the CharacterController.
The following input interfaces are supported for character control:
- Move: Keyboard arrows, WASD
- Jump: Space
- Double Jump : (Left) Shift
- Zoom: Mouse wheel
- Rotate: Screen drag
- Move: (Bottom left screen)virtual pad
- Jump: (Bottom right screen)virtual pad button
- Zoom: (Two fingers)screen drag
- Rotate: (One finger)screen drag
You have the flexibility to modify the default settings of the CharacterController.
By selecting the created ZepetoPlayers object in the Hierarchy window, the Inspector allows you to view and adjust the applied Controller settings per parameter.
The ZEPETO Camera is designed to focus on the upper head portion of the LocalPlayer upon creation and continues to follow during camera/character movement.
Let's dive into the specifics of each item:
|Prefab||This tracks the local player.|
|Look Offset||Standard location for Camera Focusing (based on Character Head)|
|Zoom (Max)||Zoom Out Maximum Range|
|Zoom (Min)||Zoom In Maximum Range|
|Zoom Speed (Base Speed)||Zoom In/Out speed (for Input Value)|
|Zoom Speed (Damp Speed)||Zoom In/Out's speed Interpolation value (for DeltaTime)|
|Rotation (Max Angle)||(Vertical + Direction) Rotation limit range|
|Rotation (Min Angle)||(Vertical - Direction) Rotation limit range|
|Rotation (Lock X Axis)||(Vertical direction) Whether Rotation is locked or not|
|Rotation Speed(Base)||Rotation speed (for Input Value)|
|Rotation Speed(Damp)||Rotation speed interpolation value (for DeltaTime)|
|Collision Layer||Layer to which camera collision is applied.|
- Layer set to Player Layer does not apply.
|Use Character Culling||When checked, Character Culling is applied when the camera collides with the character.|
|Slope Limit||The steepest slope the character can ascend.|
|Step Offset||The highest barrier a character can overcome.|
|Min Move Distance||Defines the smallest gap the character can move.|
|Shadow||Visual representation of the character's shadow.|
|AnimationController||Animator Controller for Character.|
|Walk Speed||Movement speed of the Walk Input Event|
|Run Speed||Movement speed of the Run Input Event|
|Jump Power||Jump height of the Jump Input Event|
|Walk / Run Threshold||Walk/Run reference value (0-1) applied, for moving input|
- Run Threshold : Reference value used to switch to Walk → Run motion
- Walk Threshold : Maximum reference value to which the acceleration of the walk motion is applied
|DoubleJump||Allows double jump if checked.|
- If double jump condition is checked, the default input for double jump is Left Shift.
|MoveTurn||Allows MoveTurn if checked.|
- When enabled, the instantaneous (0.1 sec Interval) rotation angle of the character is greater than 90 degrees.
|Landing||Allows Landing if checked.|
- Toggle the Landing State visible when the ZEPETO character lands from a height.
- If you prefer an immediate movement after a fall, set the Use Landing option to Off.
|LandingRoll||Allows Landing Roll if checked.|
- If landing roll condition is checked, the character will roll if the vertical velocity exceeded 18 units. Upon Landing, if there is Horizontal Input, the landing roll motion wil be triggered.
Some parameters align with Unity's character controller component settings. For further clarity, kindly refer to the linked documentation.
If you wish to programmatically manipulate the character controller attributes during runtime, please consult the API documentation.
- Please refer to the following guide. [ZEPETO.Character.Controller API]
|Event System||The Event System processes user inputs and conveys them to the UI components. It handles interactions like button clicks, drags, drops, etc.|
|Use Default Input Asset||Use Default Input Asset Toggle|
- If unchecked, manipulation via the keyboard becomes impossible.
|Use Default V-Pad Controller||V-Pad Use Toggle|
- Unchecking renders V-Pad controls inaccessible.
|Vertical Controller||V-pad Controller Prefab for Vertical Screen Orientation.|
|Horizontal Controller||V-pad Controller Prefab for Horizontal Screen Orientation.|
When playing through the app, you can choose whether to expose the UI related to the character.
|MiniProfile||When clicking on a character, whether to expose the mini profile pop-up UI|
|NickName (Me)||Whether to expose my character nickname UI|
|NickName (Others)||Whether to expose other characters' nickname UI|
|BubbleChat (Me)||Whether to expose my character's Bubble Chat UI|
|BubbleChat (Others)||Whether to expose other characters' Bubble Chat UI|