+1 支持
1.5k 閲覧
(180 ポイント) Q&A

SS6PlayerForUnityにてUnityに読み込むと1px が1グリッドほどの大きさになるのですが

どこかで1pxを0.01グリッドくらいで読み込んでほしい、とか設定できるのでしょうか?

よろしくお願いします。
 

SS6PlayerForUnity_v1.1.28 

このページをシェアする

回答 1

0 支持
(5.0k ポイント)
選択
 
ベストアンサー

hap様

お世話になっております。SS6Player for Unity担当です。

まず、ご質問の前提として、SS6Player for Unityで「Convert To Unity-Native」モードでデータをインポートされている……という解釈をしておりますが、合っておりますでしょうか?

その前提の上で……現在は、SS6Player for Unityのインポータ上では、テクスチャの「Pixels per Unit」の値をあらかじめ設定するようなインタフェースはありません。

インポート後に、Unityエディタの「Project」ウィンドウ内で、インポートしたテクスチャを選択して、Inspectorにある「Pixels per Unit(単位長に対するピクセル数)」の値を変更することで、グリッドの大きさとの比率が変わるかと思います。

※インポートしたテクスチャは、通常、インポートした時に指定したアセットフォルダの下の「Texture」フォルダの中に入っています。

※SS6Player for Unityの「Convert To Unity-Native」モードでインポートした直後のこの値は、総じて現在「1」になっているかと思われます。

テクスチャの「Pixels per Unit」の値は、ユーザーの皆様のカメラの設定やワールド座標系のご都合・スプライトを扱う上での(GameObjectの)スケールの値……などの組み合わせで、「適した・望まれる値やその計算方法」が変わるので……現在はこの手段で変更するのを正しい手順とはしているのですが……インポータでも設定できるようにするようなことについては、今後のバージョンアップ時の参考にさせていただければと思います。

※現在、SS6Player for Unityが、SpriteStudio6.4以降の新機能などに対応するために、少々大掛かりなバージョンアップ作業中のため、直近でご希望の機能(インポータでの指定)の改修に対応できない事情がございます。何卒その点ご理解の程お願いいたします。


お忙しい中お手数とは存じますが、まずは上記の返信でhap様の持たれている疑問と内容がずれていないかや、疑問の解消になっているかをご確認いただけますと助かります。

その上で、もしご質問の意図とずれていたり、疑問の解消になっていなかったりした場合、このご質問の返信にその旨頂けますようお願いいたします。

何卒今後ともよろしくお願いいたします。

(5.0k ポイント)
hap様

お世話になっております。SS6Player for Unity担当です。

上記に補足です。

「Pixel per Unit」を使用せず、単純にUnity上でのカメラとアニメーションオブジェクトとの大きさの調整をしたい(&テクスチャの1ピクセルを画面上の1ピクセルの大きさで出したい)というような場合のUnity上でのGameObjectの表示スケールの調整などについては、下記のURL(GitHubのSS6Player for UnityのWiki内にある解説ページです)を参考にして値を設定していただき、表示サイズを調整する方法もございます。

https://github.com/SpriteStudio/SS6PlayerForUnity/wiki/%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%86%8D%E7%94%9F#%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AE%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%A8%E6%96%B0%E8%A6%8F%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%A8%E3%81%AE%E9%81%95%E3%81%84

何卒よろしくお願いいたします。
(180 ポイント)

返信ありがとうございます。

Convert To Unity-Nativeで作成されたプレハブはUnityのシーンでは

何も表示されない為、SpriteStudioPlayer6でインポートしています。

(StrpteStudio6 プロジェクト設定にて互換性 ss6playerForUnityに設定

またSpriteStudioPlayer6での話になるのですが、作成されたTextureフォルダ内テクスチャをPixels per Unitを好みのサイズ0.01等に変更したのですが

大きさが変更されないため、シーンに設置したオブジェクトのInspectorの

拡大、縮小からサイズ変更をしている状態です。

しばらくこの方法で作業してみます。

ありがとうございました。

使用バージョン 

 Unity 2019.4.29f

 spritestudio 662

spriteStudio Player For unity1.1.28

(5.0k ポイント)

hap様

お世話になっております。SS6Player for Unity担当です。

SS6Playerモードでのインポートだったのですね。

SS6Playerモードでの描画の場合、一見2D描画に見えますが、3Dモデルデータとして描画しているため、Textureの「Pixels per Unit」のパラメータは描画に関係ありません。

※そのあたりは、Unity上での2Dスプライトと3Dモデルの扱いの別と同じで……「Pixels per Unit」のパラメータは2D(Spriteなど)でしか影響しません。

そのため、SS6Playerモードでインポートしたアニメーションデータの場合、大きさを変更するのは(hap様が行われている通り)GameObjectのインスペクタから、TransformのScaleの値を変更して調整するしかありません。


また、「Convert To Unity-Native」モードでインポートしたデータを表示したい場合、こちら(SS6Player for UnityのGitHubにある説明書のConvert To Unity-Nativeモードインポートに関する解説です)を参照していただけますと助かります。

https://github.com/SpriteStudio/SS6PlayerForUnity/wiki/%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%82%BF%E3%81%AE%E8%A9%B3%E7%B4%B0%E8%A7%A3%E8%AA%AC%EF%BC%88%E3%80%8CUnity-Native%E3%80%8D%E3%83%A2%E3%83%BC%E3%83%89%EF%BC%89#%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E3%82%B7%E3%83%BC%E3%83%B3%E9%85%8D%E7%BD%AE%E5%BE%8C%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E4%BD%9C%E6%A5%AD

こちらの「Convert To Unity-Native」モードは、アニメーションを2Dスプライトの集まりとして描画します。

ただ、SS6Playerモードと異なり機能制限がつきますので、その点についてはご了承ください。

制限の細かな内容は下記のURLに記載してあります。

https://github.com/SpriteStudio/SS6PlayerForUnity/wiki/%E3%81%94%E6%B3%A8%E6%84%8F#convert-to-unity-native%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-


以上となります。

hap様の一助となれば幸いです。

今後とも何卒よろしくお願いいたします。

(180 ポイント)

教えてもらいました説明で無事表示することができました

ありがとうございます、最初からConvert To Unity-Nativeの読み込み方を

諦めず質問していれば良かったです、すいません。

Convert To Unity-Nativeで読み込み後 Pixels per Unitにてサイズを

変更したのですが、パーツがそれぞれバラバラに小さくなってしまいます。

Sprite Studioの方で親パーツの下に子供パーツとして親子付けしているのですが、解決方法はありますでしょうか。

(5.0k ポイント)
編集

hap様

お世話になっております。SS6Player for Unity担当です。

> Convert To Unity-Nativeで読み込み後 Pixels per Unitにてサイズを
変更したのですが、パーツがそれぞれバラバラに小さくなってしまいます。
> Sprite Studioの方で親パーツの下に子供パーツとして親子付けしているのですが、解決方法はありますでしょうか。

SpriteStudioで作成したアニメーションは、パーツの親子構造を持ったアニメーションなのですね。

そうしますと、基本的には「Pixels per Unit」での大きさの調整は行わないでください(UnityのSprite機能で1枚のスプライトを表示している分にはPixels per Unitでの大きさの調整は手軽なのですが、親子構造を持っていたり、複数のSpriteで構成されている1アニメーションオブジェクトなどの大きさを調整する際には、結構厄介になる場合があります)。

ですので、原則的には3D(SS6Playerモード)の時と同様に、アニメーションオブジェクトの一番上のGameObjectのインスペクタのTransformのScaleの値を調整することで、シーン上(画面上)の大きさを調整します。

その時にUnityでのお作法というか……があるのですが……

データのインポート時に「Option Basic」の中の「Create Control Prefab」にチェックが入っていた場合、

インポート後のフォルダに「ps_(アニメーション名)_Control」というプレハブが作成されていると思います。

それをシーン(Hierarchy)上に展開している場合には、シーン上の「ps_(アニメーション名)_Control」のGameObjectのTransformのScaleを変更していただければ、アニメーション全体を好みの大きさに調整することができます。

上記で書いている「Unity(でシーンに3Dモデルなどを設置する時の)のお作法」的なものについては、下記URLで解説しています。

https://github.com/SpriteStudio/SS6PlayerForUnity/wiki/%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%86%8D%E7%94%9F#%E5%88%B6%E5%BE%A1%E3%83%97%E3%83%AC%E3%83%8F%E3%83%96%E3%81%AE%E5%BD%B9%E5%89%B2%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6


以上となります。

何卒今後ともよろしくお願いいたします。

...