当前位置: 首页 > news >正文

广州旅游网站建设设计公司男生女生做污事网站免费

广州旅游网站建设设计公司,男生女生做污事网站免费,wordpress归档,wordpress用户找回密码连接一个需求 我需要在场景中截取不同层级的截图(如只截模型或只截UI或只截外部相加看到的画面 或全都截或和Shader配合呈现人眼夜视仪热成像的画面切换) 将截图排到列表中#xff0c;在场景UI中展示出来 如何做 相机要能够看到不同的画面 将当前帧画面存储下来 将存储的画面展示出… 一个需求 我需要在场景中截取不同层级的截图(如只截模型或只截UI或只截外部相加看到的画面 或全都截或和Shader配合呈现人眼夜视仪热成像的画面切换) 将截图排到列表中在场景UI中展示出来 如何做 相机要能够看到不同的画面 将当前帧画面存储下来 将存储的画面展示出来 知识点代码 https://developer.unity.cn/projects/64ca2cbbedbc2a00187ba6d6 下面继续 做一个练习 截屏细节 轮廓UI 全部三张图分别展示出来 首先给游戏对象分好类 简单设计一下UI截图功能会在此操作截图会在此展示 三个相加分别是Main 场景的主相机DesktopUI界面UI专门展示的相机 CamTexture专门用来截图操作的相机平时不打开只在截图时候打开截这个相机渲染的画面 CamTexture想要渲染不同的画面就要对他进行不同的设置 publicclassCtrlScreenShot:MonoBehaviour{//相机渲染[Header(可用渲染内容的相机)]publicCameracameraToChange;[Header(具体渲染的Layers)]publicLayerMaskCullingLayers0;publicLayerMaskCullingLayers1;publicLayerMaskCullingLayers2;// 照片存储的位置publicTransformPhotenRoot;//截图的大小模板(在场景中透明显示就行为的就是截图时候按照这个UI的大小去截图)publicRectTransformUIRect;//LayerMaskCullingLayers;TransformphotenPos;stringphotenName;publicvoidCtrlScreenShotBtFc(intbutint){switch(butint){case0:CullingLayers CullingLayers0;//相机渲染显示的LayersphotenPos PhotenRoot.GetChild(0).transform;//截图显示的位置break;case1:CullingLayers CullingLayers1;//相机渲染显示的LayersphotenPos PhotenRoot.GetChild(1).transform;//截图显示的位置break;case2:CullingLayers CullingLayers2;//相机渲染显示的LayersphotenPos PhotenRoot.GetChild(2).transform;//截图显示的位置break;default:break;}StartCoroutine(StartScreenShot());}///IEnumeratorStartScreenShot(){cameraToChange.cullingMask 0;//全部剔除cameraToChange.cullingMask CullingLayers;//显示选择的LayerscameraToChange.gameObject.SetActive(true);photenName System.DateTime.Now.ToString(yyyyMMddHHmmss).png;//截图的名字stringfileName Application.dataPath /StreamingAssets/photenName;//系统不识别标点符号但支持中文yieldreturnStartCoroutine(CaptureByUI(UIRect,fileName));// 拼接图片路径stringimagePath System.IO.Path.Combine(Application.streamingAssetsPath,photenName);// 开始协程加载图片yieldreturnStartCoroutine(LoadImage(imagePath,photenPos));cameraToChange.gameObject.SetActive(false);}/// summary/// 保存截图并保存成png格式文件/// /summary/// param nameUIRect/param屏幕截图的大小尺寸规范 是个透明的imageUI/// param namemFileName/param将截图转换成的png文件保存的位置和命名/// returns/returnsIEnumeratorCaptureByUI(RectTransformUIRect,stringmFileName){yieldreturnnewWaitForEndOfFrame();//等待当前帧的UI渲染完成//计算截图的宽度和高度intwidth (int)(UIRect.rect.width);intheight (int)(UIRect.rect.height);//创建一个新的Texture2D对象宽度和高度与截图的宽度和高度匹配Texture2Dtex newTexture2D(width,height,TextureFormat.RGB24,false);//计算从屏幕上读取像素的起始位置floatleftBtmX UIRect.transform.position.x UIRect.rect.xMin;floatleftBtmY UIRect.transform.position.y UIRect.rect.yMin;//使用tex.ReadPixels()函数从屏幕上读取指定区域的像素并存储到Texture2D中。tex.ReadPixels(newRect(leftBtmX,leftBtmY,width,height),0,0);//执行读取操作,将修改应用到Texture2D中tex.Apply();//将Texture2D编码为PNG格式的字节数组byte[]bytes tex.EncodeToPNG();//将字节数组保存为PNG图片文件System.IO.File.WriteAllBytes(mFileName,bytes);}/// summary/// 将保存的png根据名字在界面上相对位置展示出来/// /summary/// param namepath/param/// returns/returnsIEnumeratorLoadImage(stringpath,TransformphotenPos){// 发送请求获取图片UnityWebRequestwww UnityWebRequestTexture.GetTexture(path);yieldreturnwww.SendWebRequest();// 检查请求是否成功if(www.result UnityWebRequest.Result.Success){// 获取加载的TextureTexture2Dtexture DownloadHandlerTexture.GetContent(www);//创建一个RawImage并放在其位置GameObjectuiObject newGameObject();uiObject.transform.parent photenPos.transform;RectTransformrectTransform uiObject.AddComponentRectTransform();CanvasRenderercanvasRenderer uiObject.AddComponentCanvasRenderer();RawImagerawImage uiObject.AddComponentRawImage();// 将加载的Texture赋值给RawImage的texture属性rawImage.texture texture;// 调整RawImage的大小以适应图片的长宽比例rawImage.SetNativeSize();// 获取父级图像的宽度floatparentWidth rawImage.transform.parent.GetComponentRectTransform().rect.width;// 计算图像的长宽比floataspectRatio (float)rawImage.texture.height /rawImage.texture.width;// 计算应用于图像的新高度floatnewHeight parentWidth *aspectRatio;// 设置图像的宽度和高度rawImage.rectTransform.sizeDelta newVector2(parentWidth,newHeight);// 将图像的位置设置为零rawImage.rectTransform.localPosition Vector3.zero;// 将图像的缩放设置为1rawImage.rectTransform.localScale Vector3.one;}else{Debug.LogError(Failed to load image: www.error);}}} 用这样的方式在AR里也可以实现拍照的功能 可以切换截取的是现实的或虚拟加现实的等
http://www.pierceye.com/news/15392/

相关文章:

  • 海宁市网站建设网站建设感想
  • erp网站代做wordpress工具栏移到底部
  • SOHO英文网站制作商会网站建设
  • 黔东南企业网站建设网站建设模板制作
  • 用网站做平台用什么系统程序做评测网站
  • 家居装修企业网站源码网站设计过程怎么写
  • 网站统计代码放哪里本地唐山网站建设
  • 12306网站是学生做的铜陵县住房和城乡建设局网站
  • 福州企业建站软件云南网络公司
  • 哪家建设网站人工智能需要学哪些课程
  • 怎么制作单页网站广州外贸网站信息
  • 交流网站建设心得体会怎样在百度上发布作品
  • 建网站自学什么是营销型的网站
  • 广德网站建设清新太和做网站
  • 怎么创办一个网站永康网站建设
  • 做游戏出租的网站一个电商网站开发需要多久
  • 杭州旺道企业服务有限公司华龙seo排名优化培训
  • 网站怎样自己做推广网站建设需要注意的问题
  • 阳江市做网站的公司怎样查看网站开发语言
  • 华强北 网站建设网站服务理念
  • 网站建设深圳亿联时代广州建网站公司排名
  • 成都公司做网站dede多个网站怎么做
  • cms建站方案做网站和编程
  • 禹州网站建设前程无忧网广州网站建设类岗位
  • 做平面设计在那个网站上找图好想兼职做网站推广
  • 凡科做的微网站怎样连接公众号网页设计策划案怎么写
  • 成立网站建设工作领导小组wordpress 如何仿站
  • 佛山高端网站设计国外专门做杂志的共享网站
  • 中国建设银行官网个人登录优化网站广告优化
  • 图书租借网站 开发一句话进入wordpress