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

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
<a href="https://creatorsforum.live2d.com/" target="_blank"><img src="https://global.discourse-cdn.com/business4/uploads/live2dtest/original/2X/1/1eb8f7d15371141dd0d79e2bbc57d5d8c92cf3a1.png" width="400" height="200" alt="Live2D公式クリエイターズフォーラム"></a>

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましては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から想定していた座標を取得することができました。

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

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