Vuforiaを用いて、ARマーカーを認識し表示させることのできるオブジェクト(Plane)の大きさだけ、カメラ画像から切り取りたいと考えています。
イメージとして以下のプログラムを考えているのですが、WorldToScreenPointにマイナスの値が出てきたり、オブジェクトのサイズが常に1になってしまいうまくいきません。
考え方、切り取り方を検索しましたがうまく理解できず困っています。
C#
1 2 byte[] pixels = image.Pixels; 3 4 5 Texture2D tex = new Texture2D (Width, Height, TextureFormat.RGB24, false); 6 7 tex.LoadRawTextureData (pixels); 8 9 tex.Apply (); 10 11 mImageTargetBehaviour = GetComponent<ImageTargetBehaviour>(); 12 13 Vector2 targetSize = GameObject.Find ("Plane1").GetComponent<ImageTargetAbstractBehaviour>().GetSize(); 14 15 float targetAspect = targetSize.x / targetSize.y; 16 17 Vector3 pointOnTarget = new Vector3(-0.5f, 0, -0.5f/targetAspect); 18 Vector3 targetPointInWorldRef = transform.TransformPoint(pointOnTarget); 19 Vector3 screenPoint = Camera.main.WorldToScreenPoint(targetPointInWorldRef); 20 21//getpixelで切り取りをしてtexture2dにもどす?
あなたの回答
tips
プレビュー