★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
Live2D公式クリエイターズフォーラム

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。

ArtMeshのワールド座標

インスタンス化したモデルのパーツ(Artmesh)に対してunityで作成したオブジェクトなどを追従させたいのですが、方法はありますでしょうか?
メッシュ自体の座標を取得してもどのパーツも一律でうまく取得ができません、ワールド座標を撮るにはどうすればよろしいでしょうか?
何卒よろしくお願いいたします。

コメント

  • @morita さん

    /Drawables/以下のGameObjectのTransformは、実際に描画されるアートメッシュとは関係がありません。
    この場合、実際に描画されるMeshから座標を取るのがよろしいかと思われます。
    描画されるメッシュの情報はCubismRenderer.Meshで取得することができます。
    このMeshを使用することでワールド座標を得ることができます。

    以下のスニペットは、自身がアタッチされたGameObjectを指定したアートメッシュの中心座標に追従させる例です。
    [SerializeField]
    public CubsimRenderer CubsimRenderer;
    
    private coid Update()
    {
        var mesh = CubsimRenderer.Mesh;
    
        // メッシュを囲う矩形の中心(ワールド座標)
        transform.position = mesh.bounds.center;
    }
  • ご回答ありがとうございます。

    試しましたところmesh.boundsから想定していた座標を取得することができました。

    これで実装が進められそうです!ご調査ありがとうございました!

コメントするにはサインインまたは登録して下さい。