【macOS 11.0 Big Surへの対応状況について】
現在公開中のCubism EditorおよびSDKはいずれのバージョンもmacOS 11.0 Big Surには対応しておりません。
正常に動作できない可能性がありますので、対応バージョンの提供開始まではOSのアップグレードをお待ちいただきますようお願いします。
関連するお問い合わせにつきましては、この文章をもって代えさせていただきます。
対応につきましては現在検証を進めております。対応バージョンの公開時期は追ってご案内いたします。

またApple Sillicon版のmacにつきましても、全てのCubism 製品において対応しておりませんのでこちらも合わせてご了承ください。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

FLASHデスクトップマスコットのモデルを切り替えたい

編集済: 5月 2015 Cubism SDK 2.1
チュートリアルを見ながらFLASHデスクトップマスコットを作成しました。モーションの追加方法などは分かりました。
そこで、せっかくなので右クリックでモデルを切り替えたいと思っています。右クリックメニューへの追加の仕方は分かったのですが、肝心の中身の記述が分かりません。SampleApp1の記述も見てみましたが、モデルの定義の仕方が違うようで、よく分かりませんでした。

力技でやってみましたが、下の例で行くと、右クリック→Epsilonを選んでも、最初のHaruが消えるだけで、Epsilonが表示されません。

//Haru
[Embed(source = '../../../../assets/Haru/Haru.moc', mimeType = 'application/octet-stream')] private var ModelData:Class;
[Embed(source = '../../../../assets/Haru/Haru.1024/texture_00.png')] private var Texture_00:Class;
//Epsilon
[Embed(source = '../../../../assets/Epsilon/Epsilon.moc', mimeType = 'application/octet-stream')] private var ModelData2:Class;
[Embed(source = '../../../../assets/Epsilon/Epsilon.1024/texture_00.png')] private var Texture_00_2:Class;

public Textures:Array = [Texture_00, Texture_00_2];

//略

addMenu(this,"Epsilon",function ():void 
{ 		
live2DModel = Live2DModelAs3.loadModel( ByteArray(new ModelData2) );
var tex:Bitmap = new textures[1];
live2DModel.setTexture(1, tex.bitmapData ); 

});
初歩的な質問かもしれませんが、教えて頂けると幸いです。

コメント

  • 大筋はあっているようですが、なんでしょうね?

    とりあえず以下のように変えてみるとどうですか?
    live2DModel.setTexture(1, tex.bitmapData );

    live2DModel.setTexture(0, tex.bitmapData );

    テクスチャ番号は0番からなので。
  • 編集済: 5月 2015
    コメントありがとうございます!ご指摘の通りに変えてみましたが、やはり表示されませんでした。

    また、同じような記述ですが、
    addMenu(this,"Epsilon",function ():void 
    { 
    
    live2DModel = Live2DModelAs3.loadModel( ByteArray(new ModelData2) );
    
    for (var i:int = 0; i < textures.length; i++) 
    {
    var tex:Bitmap = new textures[1];
    live2DModel.setTexture(i, tex.bitmapData ); 
    }});
    も違うようです。

    以下のようにすれば、最初のモデル自体は変更(HaruからEpsilonへ)できるので、パスや指定方法は間違っていないと思うのですが……。
    /*
    * 3Dレイヤーの準備完了時
    * @param event
    */
    public function onCreateStage3D(e:Event):void
    {
    var stage3D:Stage3D = (e.target as Stage3D);
    context3D = stage3D.context3D;
    context3D.configureBackBuffer(stage.stageWidth, stage.stageHeight, 0, false);
    context3D.setRenderToBackBuffer();
    
    live2DModel = Live2DModelAs3.loadModel( ByteArray(new ModelData2) );
    
    // グラフィックコンテキストをモデルに設定
    live2DModel.setGraphicsContext(context3D);
    
    // テクスチャの設定
    for (var i:int = 0; i < textures.length; i++) 
    {
    var tex:Bitmap = new textures[1];
    live2DModel.setTexture(i, tex.bitmapData ); 
    }
    なぜかaddMenu内でだけ駄目なようです。何か足りないのか、単にaddMenu内で変数?を取れないのか。自分でももう少し考えてみます。
  • Live2Dモデルは別々にインスタンス化しないとダメですよ
コメントするにはサインインまたは登録して下さい。