// 截取中心图片 IEnumerator MakeFounedImage() { HomeCamera.fieldOfView = ARCamera.fieldOfView; HomeCamera.farClipPlane = ARCamera.farClipPlane; HomeCamera.nearClipPlane = ARCamera.nearClipPlane; HomeCamera.depth = ARCamera.depth; yield return(new WaitForEndOfFrame()); var pos = ARCamera.WorldToScreenPoint(FoundedImage.transform.position); //Rect mRect = new Rect(new Vector2(pos.x - FoundedImage.rectTransform.rect.size.x / 2, // pos.y - FoundedImage.rectTransform.rect.size.y / 2), // new Vector2((int)FoundedImage.rectTransform.rect.width, // (int)FoundedImage.rectTransform.rect.height)); Rect mRect = new Rect(0, (int)pos.y - Display.main.systemWidth / 2.0f, Display.main.systemWidth, Display.main.systemWidth); var mTexture = new Texture2D((int)mRect.width, (int)mRect.height); var rt = new RenderTexture((int)Display.main.systemWidth, (int)Display.main.systemHeight, (int)ARCamera.depth); var yt = HomeCamera.targetTexture; HomeCamera.targetTexture = rt; RenderTexture.active = rt; HomeCamera.Render(); mTexture.ReadPixels(mRect, 0, 0); mTexture.Apply(); FoundedImage.sprite = Sprite.Create(mTexture, new Rect(new Vector2(0, 0), mRect.size), new Vector2(0.5f, 0.5f)); transform.parent.Find("RecognizeHandleCanvas").gameObject.GetComponent <RecognizeHandleViewController>().ScanningImage.transform.Find("foundedImage").GetComponent <UnityEngine.UI.Image>().sprite = FoundedImage.sprite; RenderTexture.active = null; HomeCamera.targetTexture = null; GameObject.Destroy(rt); HomeCamera.targetTexture = yt; HomeCamera.gameObject.SetActive(false); gameObject.SetActive(false); }
private void OnTap(InputManager.TouchInfo info) { //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) if (IsEnableControl()) { HomeCamera homeCamera = null; if (MonoBehaviourSingleton <HomeManager> .IsValid()) { homeCamera = MonoBehaviourSingleton <HomeManager> .I.HomeCamera; } else if (MonoBehaviourSingleton <LoungeManager> .IsValid()) { homeCamera = MonoBehaviourSingleton <LoungeManager> .I.HomeCamera; } else if (MonoBehaviourSingleton <GuildStageManager> .IsValid()) { homeCamera = MonoBehaviourSingleton <GuildStageManager> .I.HomeCamera; } if (homeCamera.viewMode == HomeCamera.VIEW_MODE.NORMAL) { HomeCharacterBase homeCharacterBase = null; HomeStageTouchEvent homeStageTouchEvent = null; if (targetEvent != null) { targetEvent.DispatchEvent(); } else if (targetChara != null) { homeCharacterBase = targetChara; } else { Ray val = default(Ray); if (MonoBehaviourSingleton <HomeManager> .IsValid() || MonoBehaviourSingleton <LoungeManager> .IsValid() || MonoBehaviourSingleton <GuildStageManager> .IsValid()) { val = homeCamera.targetCamera.ScreenPointToRay(Vector2.op_Implicit(info.position)); } RaycastHit val2 = default(RaycastHit); if (Physics.Raycast(val, ref val2, 100f, 259)) { homeCharacterBase = val2.get_transform().GetComponent <HomeCharacterBase>(); homeStageTouchEvent = val2.get_transform().GetComponent <HomeStageTouchEvent>(); } } if (homeCharacterBase != null) { if (MonoBehaviourSingleton <GameSceneManager> .I.IsEventExecutionPossible()) { if (homeCharacterBase is HomeNPCCharacter) { lastTargetNPCID = ((HomeNPCCharacter)homeCharacterBase).npcInfo.npcID; } else { lastTargetNPCID = 0; } if (homeCharacterBase.DispatchEvent()) { homeCharacterBase.StopMoving(); } } } else if (homeStageTouchEvent != null) { homeStageTouchEvent.DispatchEvent(); } } } }