Author Topic: [Release] Live2D Cubism 4 for PS Vita  (Read 1824 times)

Offline Graphene

  • Refugee
  • **
  • Posts: 89
    • View Profile
[Release] Live2D Cubism 4 for PS Vita
« on: February 24, 2021, 07:08:32 PM »
Live2D is a technique of generating animated 2D graphics, usually anime-style characters, using layered, continuous parts based on a single illustration, without the need of animating frame-by-frame or creating a 3D model.

Live2D website: https://www.live2d.com/en/
Live2D Github repositories: https://github.com/Live2D




This is a full native GXM port of Live2D Cubism 4 for PS Vita. It includes 3 main parts:

  • Cubism Native Core
  • Cubism Native Framework
  • Cubism Native Sample



Cubism Native Core

This is the core library. It does all basic calculations for vertices and indices and parses initial model information.
PS Vita port of this library is hybrid based on Raspberry Pi version, with added NEON-optimized functions from Android version to provide highest possible performance on Vita.

Current version of the Core for PS Vita: 4.0.0



Cubism Native Framework

This is a framework for using the model output by Live2D Cubism 4 Editor in the application. It provides various functions for displaying and operating the model.
PS Vita port uses native GXM backend for rendering. It supports 2X and 4X MSAA and resolutions up to 1920x1088.

Current version of the Framework for PS Vita: 4 Native R2



Cubism Native Sample

This sample application demonstrates basic Live2D Cubism operation on PS Vita.
Please note that sample application project does not include resource files. Download resource files separately and unpack them to app0: after installing sample application on PS Vita. End path should be ux0:app/L2DC00001/Resources

Resource files download link: https://mega.nz/folder/wtwkkYxQ#n_MIGmy_LKS1MDjRi9UofQ


Differences of PS Vita version

Due to the differences in GXM implementation following functions have been changed/added:

Live2D::Cubism::Framework::CubismUserModel::CreateRenderer()
Live2D::Cubism::Framework::Rendering::CubismRenderer_GXM::SetDisplayIndex()



Specifics of usage on PS Vita

Basic usage is the same as on other platforms. Main differences include:

  • need to pass various GXM context parameters to framework when creating renderer
  • need to pass current display index to framework before performing model draw
  • need to manually end current scene before using any framework renderer draw functions

Building:

To build these projects you will need:


Credits and Acknowledgements

  • Live2D and its contributors for Cubism Native Framework and Cubism Native Samples
  • Sony for PlayStation Vita SDK
  • marburg for Vita Development Suite
  • SonicMastr for PIB, converting shaders, debugging and other help with this project
« Last Edit: February 24, 2021, 10:15:34 PM by Graphene »