unity摄像机画面制作全景图片|截图制作全景图(代码片段)

Glunn Glunn     2023-03-30     122

关键词:

Unity摄像机画面制作全景图片

目录

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

效果展示

unity的场景

生成的图片

Unity编辑器中使用脚本部分

[MenuItem("生成图片/CreatPic")]
    public static void A()
    
        Camera cam = Camera.main;
		//可修改数值   new RenderTexture(4096, 4096, 32);
        RenderTexture cubemap = new RenderTexture(2048, 2048, 16);
        cubemap.dimension = TextureDimension.Cube;
        cam.RenderToCubemap(cubemap, 63, Camera.MonoOrStereoscopicEye.Mono);
		//可修改数值 new RenderTexture(4096, 4096, 32);
        RenderTexture equirect = new RenderTexture(1920, 1080, 8);
        cubemap.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Mono);

        RenderTexture.active = equirect;
        Texture2D tex = new Texture2D(equirect.width, equirect.height, TextureFormat.ARGB32, false, true);
        tex.ReadPixels(new Rect(0, 0, tex.width, tex.height), 0, 0);
        RenderTexture.active = null;
        GL.Clear(true, true, Color.black);
        tex.Apply();
        byte[] bytes = tex.EncodeToTGA();
        CreateDirectroryOfFile(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop) + "\\\\全景图\\\\)");
        System.IO.File.WriteAllBytes(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop)
            + "\\\\全景图\\\\" + System.DateTime.Now.Ticks + ".tga", bytes);

    

    public static void CreateDirectroryOfFile(string filePath)
    
        Debug.Log($"CreateDirectrory filePath[folder_path],");
        if (!string.IsNullOrEmpty(filePath))
        
            string dir_name = Path.GetDirectoryName(filePath);
            if (!Directory.Exists(dir_name))
            
                Debug.Log($"No Exists dir_name[dir_name],");
                Directory.CreateDirectory(dir_name);
            
            else
            
                Debug.Log($"Exists dir_name[dir_name],");
            
        
    

Unity编辑器中使用方法

我们的脚本部分写完左上角的菜单栏中会出现生成图片四个字

打开这个选项我们可以看到CreatPic
然后我们点击后就可以执行完毕
会自动在我们的桌面创建文件夹然后把图片存储进去

Unity动态存储图片脚本部分

 Camera cam;
    RenderTexture cubemap;
    RenderTexture equirect;
    [Header("生成次数  true为连续生成")][SerializeField] private bool ison;
    void Start()
    
        cam = Camera.main;
        cubemap = new RenderTexture(4096, 4096, 32);
        cubemap.dimension = TextureDimension.Cube;
        equirect = new RenderTexture(4096, 2048, 32);
        StartCoroutine(B());
    

    // Update is called once per frame
    void Update()
    
        if (ison)
        
            StartCoroutine(B());
        
    

    IEnumerator B()
    
        if (ison)
        
            while (true)
            
                Creat();
                yield return new WaitForSecondsRealtime(0.04F);
            
        
        else
        
            Creat();
        


        yield return null;
    


    public void Creat()
    
        cam.RenderToCubemap(cubemap, 63, Camera.MonoOrStereoscopicEye.Mono);
        cubemap.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Mono);
        RenderTexture.active = equirect;
        Texture2D tex = new Texture2D(equirect.width, equirect.height, TextureFormat.ARGB32, false, true);
        tex.ReadPixels(new Rect(0, 0, tex.width, tex.height), 0, 0);
        RenderTexture.active = null;
        GL.Clear(true, true, Color.black);
        tex.Apply();
        byte[] bytes = tex.EncodeToTGA();
        CreateDirectroryOfFile(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop) + "\\\\全景图\\\\)");

        System.IO.File.WriteAllBytes(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop)
            + "\\\\全景图\\\\" + System.DateTime.Now.Ticks + ".tga", bytes);
    
    public static void CreateDirectroryOfFile(string filePath)
    
        Debug.Log($"CreateDirectrory filePath[folder_path],");
        if (!string.IsNullOrEmpty(filePath))
        
            string dir_name = Path.GetDirectoryName(filePath);
            if (!Directory.Exists(dir_name))
            
                Debug.Log($"No Exists dir_name[dir_name],");
                Directory.CreateDirectory(dir_name);
            
            else
            
                Debug.Log($"Exists dir_name[dir_name],");
            
        
    

Unity动态存储图片使用方法

动态存储的方法 很简单 随便放置一个空物体然后把我们的脚本放置上去就可以了

其中注意我们的脚本上会有一个bool值 此值的作用为True的时候会连续存储图片

360度全景效果图,如何制作?

如题,全景效果图如何制作,谁有视频教程啊,分享一下。360度全景效果图的制作教程,全景效果图如何制作呢?那我们就来看看,360度全景效果图不是一张图所得到的,而是经过很多张图片合成的图,制作360度全景效果图首先... 查看详情

unity制作360全景视频全景图片流程

Recorder的使用在Unity制作360图片或者视频需要用到UnityPackage:Recorder如果没有就在PackageManager寻找1、在菜单栏找到Window/General/Recorder/RecorderWindow参数说明:AnimationClip:录制动画剪辑Movie:录制视频ImageSequence:序列帧图片GIFA... 查看详情

如何制作全景图片

...一样。接下来我们讲的是普通照片用软件拼合成全景图的制作过程,相信好多朋友都会感兴趣~~工具/原料照片若干张(要求是以一个地方连续转动或者移动拍摄的图片)PanoramaStudio2.1Pro步骤 查看详情

360全景照片怎么制作哪个平台好?

360全景照片如何制作平台哪家好?全景图在广告宣传等方面应用非常广泛,用广角的手法来渲染衬托,其实很多全景图都是由多张图片拼接而成,展示功能方面还是非常完善的,在行业展示方面酷雷曼3DVR智能全景展示系统受到了... 查看详情

unity2017中vr全景图和全景视频设置

...是在球的内壁上播放的,从球的内部看球的内壁。拖一张全景图片到球上,sharder用此链接内的http://blog.csdn.net/wuyt2008/article/details/54313474(谢大神提供)。加VideoPlayer组件,在其下VedeoClip中加入想要播放的视频, 查看详情

有哪些好用的360三维全景制作软件?

有哪些好用的360三维全景制作软件?  对于VR全景图的制作,目前更多的人是使用单反相机+鱼眼镜头,这种方法拍摄制作VR全景图的硬件成本相对较低,因此受到更多全景图拍摄制作从业者的喜爱,但是有一个缺点就是拍摄以后后期... 查看详情

unity怎么用图片做全景图?

...就ok了 参考技术B全景图片是通过全景相机拍摄的,直接制作不了啊本回答被提问者采纳 查看详情

vr全景是怎么制作的

参考技术A  制作步骤如下:  1、登陆制作网站;  2、点击新建一个全景项目;  3、输入项目名称;  4、添加全景图片;  5、输入全景项目里的场景名称;  6、选择全景图片所在电脑存放位置,点击上传,显... 查看详情

怎么样制作vr全景图

酷雷曼全景小编教你怎么样制作vr全景图?点“确定”至此,JPEG选项中。合成后的大图已经保存在文件夹中。 单反相机都可以拍摄,一般的卡片相机。当然,如果你具有拍摄全景照片的相机那就更加方便了可以选择自己喜欢的... 查看详情

怎么制作全景主题?

怎么制作全景主题?如何将普通图片转换成3D立体图片呢?由于3D图片是利用红蓝双色分离原理所产生的错觉而形成的立体效果。据此我们可以利用PS来制作3D立体图片效果。以下就是具体的制作方法。方法/步骤利用PS打开原图,此... 查看详情

自己制作并发布720°vr全景图

...,而且他的全景图像素降低了,所以我们要自己制作。1、先用大疆或者其它设备拍一组全景照。 2、然后下载并安装“PTGui”软件,用于拼接图像。(免费的)3、打开软件,导入照片。顺序没关系。 4、对齐影像。... 查看详情

unity制作360°全景vr视频

转:https://blog.csdn.net/zjh_368/article/details/82351581 1、导入Helios插件2、在场景中加入Helios-prefabs-Helios3D预制体到Hierarchy面板,并禁用MainCamera3、设置文件保存位置WorkingFloder,勾选CameraArmed,运行可录制场景视频,其他参数按需设置4、... 查看详情

怎么制作室内720全景?

...着科技的发展。现在有很多的企业在网站中添加网展公司制作的360全景展示。小编原来讲过如何在室外拍摄全景,今天就教下大家如何在室内拍摄出好看的全景照片: 一、光线 想其艺术性要 查看详情

全景知识科普

...真实逼真的还原表现;其二,导览性、交互性强;其三,画面质量高,高清晰度的全屏场景,令 查看详情

vr全景效果图制作软件那个好?

vr全景效果图制作软件都有:PanoramaStudiopro、3Dmax、酷家乐、KRPano、 Photoshop,VR图片作为一种交互式体验视觉展示受到了许多摄影爱好者的追捧,如今VR全景图已经成为了主流的视觉展示技术,并且应用到各行各业,在这里介... 查看详情

three.js制作360度全景图

这是个基于three.js的插件,预览地址:戳这里使用方法:1、这个插件的用法很简单,引入如下2个js<scriptsrc="js/three.min.js"></script><scriptsrc="js/photo-sphere-viewer.min.js"></script>2、初始化一下,(具体各种参数配置根据情... 查看详情

怎么制作vr全景图

参考技术A1.手机打开3d播放软件,仔细观察界面,点击一个影片.2.进入播放界面,点击右下角的全屏3D.3.视频进入全屏播放的阶段,稍等片刻,正在缓存.4.将VR眼镜侧边的开关打开.5.机关取出后朝上拉出,将手机卡在里面.6.再次将机关装进... 查看详情

如何使用opencv制作全景照片

  ①:首先打开ptgui软件,打开“加载图像功能”,选择并导入图片,或者将需要处理的一组图片全选直接拖到软件操作界面:  ②导入照片后首先需要检查和设定相机参数,当然,对于全自动的相机镜头,图片导入软件以... 查看详情