前提・実現したいこと
OS: Windows10
VRデバイス: VIVE
開発環境: Unity 2017.2.0f3
VRアプリを開発しており、曲げた板の上に落書きをしたいと考えております。
板はあるタイミングで変形し、そこに書かれた落書きも板の形状に沿って変形します。
板状のメッシュには以下のコンポーネントをつけています。
- MeshRenderer
- MeshCollider
- MeshSync(C#スクリプト, 後述)
- シェーダー(メッシュ変形用スクリプト)
発生している問題・エラーメッセージ
板状メッシュの変形はできているのですが、
コライダーは元の板のままで、当たり判定が見た目と異なります。
以下はシェーダーによって変形されたメッシュと変形前の形状のコライダーです。
Raycastがメッシュを突き抜け、コライダーにぶつかっています。
コライダーも変形したメッシュに追従してほしいのですが、どのようにすればよいでしょうか?
該当のソースコード
MeshSync.csは以下の通りです。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class SyncMesh : MonoBehaviour 6{ 7 private MeshFilter _filter; 8 private MeshRenderer _renderer; 9 private MeshCollider _collider; 10 11 void Start () 12 { 13 _filter = gameObject.GetComponent<MeshFilter>(); 14 _collider = gameObject.GetComponent<MeshCollider>(); 15 } 16 17 void Update () 18 { 19 _collider.sharedMesh = null; 20 _collider.sharedMesh = _filter.mesh; 21 } 22} 23
なお、Start() の内容を Update() に書いても結果は同じでした。
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/15 10:37