unity3d全景图切换_unity全景图如何切换 - CSDN
  • unity3d利用pano2VR实现全景视图效果 要做全景视图,当然先要找一张全景图片(360°鱼眼镜头的)   接着全景视图的转换软件,如果可以的话自己做也行。  这里推荐 pano2VR         图片转换...

    unity3d利用pano2VR实现全景视图效果

    要做全景视图,当然先要找一张全景图片(360°鱼眼镜头的)
     
    接着全景视图的转换软件,如果可以的话自己做也行。 
    这里推荐 pano2VR
     
     
      
     
    图片转换好之后得到一组立方体面片。
    在UNITY3D里面添加天空盒材质,加入到相机,然后材质选择我们刚刚得到的六面,就可以看到漂亮的全景视图了


    展开全文
  • 转载自 http://www.taidous.com/thread-52133-1-1.html Shader "Unlit / Pano360Shader" { Properties { _MainTex("Base(RGB)", 2D) = "white"{} _Color("Main Color", Color) = (1,1,1,0
    转载自   http://www.taidous.com/thread-52133-1-1.html
    
    Shader "Unlit / Pano360Shader"
    {
            Properties
    {
            _MainTex("Base(RGB)", 2D) = "white"{}
            _Color("Main Color", Color) = (1,1,1,0.5)
    }
    SubShader
    {
            Tags{ "RenderType" = "Opaque" }
            //This is used to print the texture inside of the sphere
            Cull Front
            CGPROGRAM
    #pragma surface surf SimpleLambert
            half4 LightingSimpleLambert(SurfaceOutput s, half3 lightDir, half atten)
    {
            half4 c;
            c.rgb = s.Albedo;
            return c;
    }
    
    sampler2D _MainTex;
    struct Input
    {
            float2 uv_MainTex;
            float4 myColor : COLOR;
    };
    
    fixed3 _Color;
    void surf(Input IN, inout SurfaceOutput o)
    {
            //This is used to mirror the image correctly when printing it inside of the sphere
            IN.uv_MainTex.x = 1 - IN.uv_MainTex.x;
            fixed3 result = tex2D(_MainTex, IN.uv_MainTex)*_Color;
            o.Albedo = result.rgb;
            o.Alpha = 1;
    }
    ENDCG
    }
    Fallback "Diffuse"
    }


    遮罩Shader

    [AppleScript] 纯文本查看 复制代码
    Shader "ImageEffect/MaskIcon"
    {
            Properties
            {
                    [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}
            _Mask("Base (RGB)", 2D) = "white" {}
    
    
            _Color("Tint", Color) = (1,1,1,1)
                    _StencilComp("Stencil Comparison", Float) = 8
                    _Stencil("Stencil ID", Float) = 0
                    _StencilOp("Stencil Operation", Float) = 0
                    _StencilWriteMask("Stencil Write Mask", Float) = 255
                    _StencilReadMask("Stencil Read Mask", Float) = 255
                    _ColorMask("Color Mask", Float) = 15
                    [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip("Use Alpha Clip", Float) = 0
            }
    
                    SubShader
            {
                    Tags
            {
                    "Queue" = "Transparent"
                    "IgnoreProjector" = "True"
                    "RenderType" = "Transparent"
                    "PreviewType" = "Plane"
                    "CanUseSpriteAtlas" = "True"
            }
    
                    Stencil
            {
                    Ref[_Stencil]
                    Comp[_StencilComp]
                    Pass[_StencilOp]
                    ReadMask[_StencilReadMask]
                    WriteMask[_StencilWriteMask]
            }
    
                    Cull Off
                    Lighting Off
                    ZWrite Off
                    ZTest[unity_GUIZTestMode]
                    Blend SrcAlpha OneMinusSrcAlpha
                    ColorMask[_ColorMask]
    
                    Pass
            {
                    CGPROGRAM
    #pragma vertex vert
    #pragma fragment frag
    
    #include "UnityCG.cginc"
    #include "UnityUI.cginc"
    
    #pragma multi_compile __ UNITY_UI_ALPHACLIP
    
                    struct a2v
            {
                    fixed2 uv : TEXCOORD0;
                    half4 vertex : POSITION;
                    float4 color    : COLOR;
            };
    
            fixed4 _Color;
    
            struct v2f
            {
                    fixed2 uv : TEXCOORD0;
                    half4 vertex : SV_POSITION;
                    float4 color    : COLOR;
            };
    
            sampler2D _MainTex;
            sampler2D _Mask;
    
            v2f vert(a2v i)
            {
                    v2f o;
                    o.vertex = mul(UNITY_MATRIX_MVP, i.vertex);
                    o.uv = i.uv;
    
                    o.color = i.color * _Color;
                    return o;
            }
    
            fixed4 frag(v2f i) : COLOR
            {
                    half4 color = tex2D(_MainTex, i.uv) * i.color;
                    half4 mask = tex2D(_Mask, i.uv);
                    color.a *= mask.a;
                    return color;
            }
                    ENDCG
            }
            }
    }


    C#代码

    [AppleScript] 纯文本查看 复制代码
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Pano360 : MonoBehaviour {
        
        public  Transform container;
        float turnSpeedMouse=50;
    
        /// <summary>  
        /// 第一次按下的位置  
        /// </summary>  
        private Vector2 first = Vector2.zero;
        /// <summary>  
        /// 鼠标的拖拽位置(第二次的位置)  
        /// </summary>  
        private Vector2 second = Vector2.zero;
        /// <summary>  
        /// 旋转的角度  
        /// </summary>  
        private float angle = 3f;
    
        void OnGUI()
        {
            if (Event.current.type == EventType.MouseDown)
            {
                //记录鼠标按下的位置     
                first = Event.current.mousePosition;
            }
            if (Event.current.type == EventType.MouseDrag)
            {
                //记录鼠标拖动的位置     
                second = Event.current.mousePosition;
    
                if (second.x < first.x)
                {
                    //拖动的位置的x坐标比按下的位置的x坐标小时,响应向左事件     
                    this.transform.Rotate(Vector3.up , angle);
    
                    container.Rotate(new Vector3(0 , angle * (-1) , 0f) * Time.deltaTime * turnSpeedMouse);
                    transform.Rotate(new Vector3(angle , 0 , 0) * Time.deltaTime * turnSpeedMouse);
                }
                if (second.x > first.x)
                {
                    //拖动的位置的x坐标比按下的位置的x坐标大时,响应向右事件     
                    this.transform.Rotate(Vector3.down , angle);
                    container.Rotate(new Vector3(0 , angle * (1) , 0f) * Time.deltaTime * turnSpeedMouse);
                    transform.Rotate(new Vector3(angle , 0 , 0) * Time.deltaTime * turnSpeedMouse);
                }
                first = second;
            }
        }
    }
    展开全文
  • unity 360°全景图

    2017-11-27 18:42:00
    适用于想简单了解全景图结构和功能的人群,这个本人亲自测试,unity版本使用过5系列和2017版本,脚本控制在Main Camera里,想要换成自己的图片只需要将想要的全景图片放进unity中拖到全景图中的球里面即可,...

    今天写的是一个关于unity中简单的360°可以调节仰度,俯度,鼠标移动速度的360°全景图,适用于想简单了解全景图结构和功能的人群,这个本人亲自测试,unity版本使用过5系列和2017版本,脚本控制在Main Camera里,想要换成自己的图片只需要将想要的全景图片放进unity中拖到全景图中的球里面即可,如果自己设计图片不能够切到最大或者最低,就可以自己调节,上面图片为搜索图片,如果有问题,请留言,互相学习,互相进步。













    下载链接:http://download.csdn.net/my













    展开全文
  • 截取360全景图 1、运行到你所要截取的游戏场景或画面,例如,VR游戏运行在电脑上按下空格键截取所需要的 void Update(){ if (Input.GetKeyDown(KeyCode.Space)) { GameStart(); } } 2、在游戏运行时,...

    截取360全景图


    1、运行到你所要截取的游戏场景或画面,例如,VR游戏运行在电脑上按下空格键截取所需要的

    void Update(){
    
       if (Input.GetKeyDown(KeyCode.Space))
            {
                GameStart();
            }
    
    }

    2、在游戏运行时,在游戏中创建一个空物体,上面挂载RenderTest的脚本(在这步之前要将capture的文件夹导入Assets中)


    3、在Game界面点击,按下P键,所要截取的全景图的路径会出现在Console中


    Unity中浏览360全景图


    1、新建一个场景、将所要浏览的全景图导入项目中,设置属性如下:



    2、新建Material



    3、Window -->  Lighting --> Settings 将刚刚创建的Material给天空球

    展开全文
  • 欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 工程源码:https://download.csdn.net/download/qq_37310110/10904464   一.全景图的制作 有很多种方法制作全景图。但是在unity里面实现的话最...
  • 背景 通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长。为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来...在Unity中可以通过调用Application.LoadLevelAsync函数来异步加载游戏
  • 由于项目需要,需要用NGUi实现一个图片浏览切换的功能,于是参考官方NGUI例子的ScrollView做了一个例子,初始看上去基本实现了自己想要的功能。 但是测试后发现当隐藏其中一张图片后,后面图片不能自动跟上排列,...
  • 1、新建一Sphere,然后为其赋予材质,注意材质的Shader类型为:Mobile/particles/Alpha Blended,然后将做好的全景图贴上去 2、在摄像机上附加以下脚本:代码来源参考自 1 using UnityEngine; 2 using System....
  • 所谓无缝场景切换,无非是涉及到场景或物体的预读,复杂点涉及下场景卸载,在复杂点涉及到场景二维数组,再在复杂点涉及数据结构用二叉树实现场景资源有序的读取与卸载。当然,复杂的我以后慢慢再说,比较懒,先写最...
  • 目前,Unity3D应用范围非常广泛,从手机游戏到联网的大型游戏,从严肃游戏到电子商务,再到VR虚拟现实均可完美呈现。Unity3D是一软专业3D游戏引攀,其具备跨平台发布、离效能优化、高性价比,AAA级游戏画面演染效果...
  • 2016年是VR元年,这一年度多少少做了点东西,都是关于VR&AR的,虽然现在是冷冬期...这一篇会讲一下如何在Unity中播放全景视频,以及对全景视频的优化。 楼主写这篇教程一用ouclus 为例。 一、Unity播放视频 新建
  • 在VR应用中,有一个相对简单的虚拟现实体验,那就是360°全景照片浏览器, 他可以使得手机拍照的”全景”照片, 得以”恢复”当时拍照的场景全貌, 这个创意的确比单纯的2d图片更有震撼力一些,故本文就制作360全景照片...
  • 很多刚刚接触Unity3d的童鞋花了大量的时间自学,可总是把握不好Unity3d的烘焙,刚从一个坑里爬出来,又陷入另一个新的坑,每次烘焙一个场景少则几个小时,多则几十个小时,机器总是处于假死机状态,半天看不到结果,...
  • unity播放360全景视频

    2018-04-25 19:42:41
    概述: 全景视频需要以球体(Sphere)作为载体来播放,Camera位于球体的中心。 再使用GoogleVR的CardBoard,将项目发布到Android,就能在VR设备上查看了。一、播放视频 我之前试过用EasyMovieTexture插件和unity...
  • 直接上: 1,创建一个RawImage组件,把图片和代码挂上去。 2 ,black 是黑色图片,随意截个就行;FadeInOut是代码。 代码如下:FadeInOut.cs using UnityEngine; using UnityEngine.SceneManagement; ...
  • 已经有一张HDR全景图,导入unity制作天空盒: → http://blog.sina.com.cn/s/blog_155f0ab900102y5j4.html 想把全景图转成立方体图:(虽然我不明白为什么会需要这个操作 用软件PTgui转 ...
  • 目前,Unity3D应用范围非常广泛,从手机游戏到联网的大型游戏,从严肃游戏到电子商务,再到VR虚拟现实均可完美呈现。Unity3D是一软专业3D游戏引攀,其具备跨平台发布、离效能优化、高性价比,AAA级游戏画面演染效果...
  • 在游戏中经常会切换摄像机来观察某一个游戏对象,可以说,在3D游戏开发中,摄像头的切换是不可或缺的。这次我们学习总结下摄像机怎么切换镜头。
  • 超简单的引言本教程介绍的是如何一个人制作出像模像样的VR全景动画。笔者没有去详细的研究过动画的制作方式,或者说根本就不了解啊,所以本文章只是门外汉的一次自嗨,请勿认真,作为一种参考即可。 一 总览 我们都...
1 2 3 4 5 ... 9
收藏数 177
精华内容 70
关键字:

unity3d全景图切换