void Update() { var mesh = target.sharedMesh; var posList = mesh.vertices .Select(vtx => target.transform.TransformPoint(vtx)) .ToList(); TargetCameraUtility.Update(camera_, posList); }
void UpdateCamera() { var pair = parentGate.pair; var pairTrans = pair.transform; var mesh = pair.GetComponent <MeshFilter>().sharedMesh; var vtxList = mesh.vertices.Select(vtx => pairTrans.TransformPoint(vtx)).ToList(); TargetCameraUtility.Update(camera_, vtxList); // Oblique // pairGateの奥しか描画しない = nearClipPlane を pairGateと一致させる var pairGateTrans = parentGate.pair.transform; var clipPlane = CalcPlane(camera_, pairGateTrans.position, -pairGateTrans.forward); camera_.projectionMatrix = camera_.CalculateObliqueMatrix(clipPlane); }