DKAlpha edited this page Oct 1, 2018 · 30 revisions

========================================================

SS6ssbpLib v1.5.2

Copyright(C) Web Technology Corp. All rights reserved.

========================================================

概要

OPTPiX SpriteStudio 6 で制作したアニメーションデータを再生するための汎用C++ライブラリです。
C++で作られたゲームやアプリに使用する事ができます。
更新内容はこちらのIssueを参照してください。

ssbpLib自体はファイルの読み込み、描画の機能を持っていません。
ssbpのバイナリデータからアニメーション情報を解析しゲーム側の描画へリクエストを行う部分を担当します。

ssbpファイルの読み込み部分、パーツステータスをもとに描画する部分を環境に合わせて作成していただくことで、プラットフォームに依存せずにOPTPiX SpriteStudio 6 で作成したアニメーションを表示させる事ができます。
※SpriteStudio 5で作成したデータは使用できませんのでSpriteStudio 6で開き保存を行って使用してください。
SpriteStudio 5用のssbpLibはこちらです。

  • 免責事項
    本ソフトウェアは評価版であり、動作検証、評価を目的として配布しているため、
    何らかの不具合が含まれている可能性があることをご了承いただいた上で、
    ご利用いただきますようお願い致します。

対応バージョン

過去バージョンについては対応バージョン一覧を参照してください。

  • 対応するSpriteStudio 6 SDKのバージョン
    対応するssbpファイルのフォーマットバージョンは10です。
    OPTPiX SpriteStudio 6 SDK v1.5.xに含まれるSs6Converterで動作確認をしています。

  • 対応するSpriteStudioのバージョン
    対応するOPTPiX SpriteStudioのバージョンは6.2.0です。

(重要)SS6PlayerとSpriteStudioSDKの互換性について

SpriteStudioSDKに付属されているSs6converterで出力するssbpファイルにはフォーマットバージョンが存在します。
フォーマットバージョンの一覧はこちら
SS6Playerの対応しているフォーマットバージョンを確認し、対応したSs6converterを使用してください。
フォーマットバージョンが異なる場合ssbpファイル読み込み時にエラーとなります。
プロジェクトの都合などでssbpファイルのフォーマットを変更できない場合は動作している組み合わせを継続して使用する事を検討してください。

使用手順

  1. Ss6Converterを使ってアニメデータからssbpファイルを作製します。
    Ss6ConverterはSpriteStudio6SDKに含まれています。
    こちらを参照してください

  2. プロジェクトへファイルを追加します。
    本リポジトリに含まれるSSPlayerフォルダ以下のファイルをプロジェクトへ追加します。 SSPlayerフォルダに含まれるフォルダ構成のまま追加してください。
    ゲーム側で#include "SS6Player.h"を行うとプレイヤークラスを使用する事ができます。

  3. プログラム側へ組み込みます。
    例として sample.sspj を変換して作られた sample.ssbp に含まれるアニメーションを再生する場合は以下の様になります。

#include "./SSPlayer/SS6Player.h"


// SS6プレイヤーの宣言
ss::Player *ssplayer;
ss::ResourceManager *resman;


//プレイヤーを使用する前の初期化処理
//この処理はアプリケーションの初期化で1度だけ行ってください。
ss::SSPlatformInit();
//Y方向の設定とウィンドウサイズ設定を行います
ss::SSSetPlusDirection(ss::PLUS_UP, WIDTH, HEIGHT);
//プレイヤーを使用する前の初期化処理ここまで


//リソースマネージャの作成
resman = ss::ResourceManager::getInstance();

//プレイヤーの作成
ssplayer = ss::Player::create();

//アニメデータをリソースに追加
//それぞれのプラットフォームに合わせたパスへ変更してください。
resman->addData("character_template_comipo/character_template1.ssbp");
//プレイヤーにリソースを割り当て
ssplayer->setData("character_template1");			// ssbpファイル名(拡張子不要)
//再生するモーションを設定
ssplayer->play("character_template_3head/stance");		// アニメーション名を指定(ssae名/アニメーション名)


//表示位置を設定
ssplayer->setPosition(1280/2, 720);
//スケール設定
ssplayer->setScale(0.5f, 0.5f);
//回転を設定
ssplayer->setRotation(0.0f, 0.0f, 0.0f);
//透明度を設定
ssplayer->setAlpha(255);
//反転を設定
ssplayer->setFlip(false, false);


//メインループで呼び出してください。
ssplayer->update(dt);					//プレイヤーの更新
ssplayer->draw();					//プレイヤーの描画


終了処理で resman、player を delete してください。
//SS6Playerの削除
delete (ssplayer);
delete (resman);
ss::SSPlatformRelese( );

その他の再生、制御方法についてはサンプルプログラムや SS6Player.hのPlayer クラスのコメントをご覧ください。

リファレンス

再生、制御方法については SS6Player.h のPlayer クラスのコメントをご覧ください。

サンプルプログラム

OpenGLでアニメーションを再生するサンプルプログラムを付属していますので移植する際の参考にしてください。

Visual Studio Community 2017で動作を確認しています。
Microsoft Visual Stadio Community 2017 で空のコンソールプロジェクトを作成します。
プロジェクトのNuGetでglutを検索しnupengl.coreを追加してください。

プロジェクトへmain.cppファイルと、SSPlayerフォルダ、libフォルダをプロジェクトに追加してください。
Resourcesフォルダをデバッグ>作業ディレクトリに設定したフォルダにコピーしてください。
libフォルダはOpenGLでテクスチャを作成する際に必要な画像読み込みライブラリとなり、OpenGL以外の描画を使用する際には不要になる可能性があります。
ssbpとpngがあれば再生する事ができますが、Resourcesフォルダにsspjも含まれています。

samples\OpenGL\basic
フォルダにサンプルプログラムが含まれています。

プラットフォーム対応

ssbpLibに含まれる、SS6PlayerPlatform.cpp には環境に合わせて処理を作成する必要のある関数がまとめられています。

  • sspjファイルの読み込み
  • テクスチャの作成、解放
  • パーツの表示

を作成環境に合わせてカスタマイズしてください。

  • Y座標の原点について
    サンプルでは左下を原点(座標0,0)として上方向がプラスとなっています。
    上方向をマイナスとして描画する場合、初期化時に行う ss::SSSetPlusDirection(ss::PLUS_UP, WIDTH, HEIGHT);で、ss::PLUS_UPをss::PLUS_DOWNにしてください。

  • 文字コードについて
    ソースコードはUTF-8(CRLF)で記述されています。使用する環境に合わせて文字コードを保存しなおして使用してください。
    Visual Studio Community 2017ではビルドできますがVisual Studio 2013以前では文字コードを変換する必要があるようです。

制限される機能

使用可能なアトリビュートについて

SpriteStudio上で使用できるアトリビュートだけ表示するには、リポジトリに含まれる「plugins」フォルダを「マイドキュメント\SpriteStudio」にコピーしてください。
プロジェクト設定の互換性設定に以下の項目が増え、アトリビュートを制限する事が出来ます。

  • SS6ssbplib

使用できるアトリビュートの詳細は互換性一覧を確認してください。
OPTPiX SpriteStudio 互換性の比較表 SS6ssbplib

ダウンロード

Players フォルダの ssbpLib フォルダの中にソースファイルとヘッダファイルがあります。
任意のプロジェクトに追加して使用してください。
各バージョンのダウンロードはこちら

お問い合わせ

まずこちらのリンクからIssuesページを開き過去に投稿されたFAQをご確認ください。

Issuesページの質問だけ表示する場合はこちら
Issuesページの不具合だけ表示する場合はこちら
Issuesページの要望だけ表示する場合はこちら
同じ内容の質問があった場合、何か追加情報がある場合はコメントに書いて下さい。

質問、不具合、要望を投稿する方法

  • 投稿前に必ずお読みください

    • (重要)投稿した内容について
      投稿した内容は全て一般に公開されますので個人情報や機密情報を記載しないようにご注意ください。
    • 質問をIssueへの書き込むにはGitHubのアカウントが必要です。
      アカウントをお持ちでない場合、こちらのGitHubチュートリアルを参考にアカウントを作成してください。
    • 別のプレイヤー、別のツールの質問はそれぞれのページへ投稿してください。
  • 投稿する
    Title欄に先頭にバージョン番号をvX.X.Xとつけて概要を記入し、Leave a comment に詳細を記入します。
    [Submit new issue] ボタンを押して完了です。後ほど担当者が確認しコメントいたします。

  • 再現データの添付が必要な場合

    • ウェブテクノロジの専用メールアドレス github-spritestudio@webtech.co.jp に添付して送付してください。
  • クリックするとメーラーが起動します。

  • ※送信する前に宛先が上記アドレスと相違ないかご確認ください。

  • ※重要なデータを含んでいる場合は、.zip を暗号化し、パスワードは別途お知らせください。

旧バージョンのドキュメントについて

SpriteStudioArchiveをご参照ください。

========================================================

株式会社ウェブテクノロジ
http://www.webtech.co.jp/
Copyright(C) Web Technology Corp.

========================================================

  • SpriteStudio, Web Technologyは、株式会社ウェブテクノロジの登録商標です。
  • その他の商品名は各社の登録商標または商標です。
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.