• unity 全景视频播放全景图片转换(学习)



    前言

    1. 先准备好两张全景图片和一个全景视频
    2. 还有两个包,老师给的
      在这里插入图片描述

    一、创建全景图

    • 先把包导进去,
    • 创建一个sphere,改变mesh值
      在这里插入图片描述
      在这里插入图片描述
    • 然后直接把全景图片拖进sphere上
      在这里插入图片描述
    • 直接复制第一个sphere,拖入第二张全景图,并向x移动20
      在这里插入图片描述
    • 现在点开运行的话,是不能移动的,我们要移动鼠标来查看周围
    • 在摄像机上挂上脚本,写上代码
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Change : MonoBehaviour {
    
    	// Use this for initialization
    	void Start () {
    		
    	}
    	
    	// Update is called once per frame
    	void Update () {
    		transform.Rotate(-Input.GetAxis("Mouse Y"), Input.GetAxis("Mouse X"), 0);
    		transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, 0);
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 这样运行后就可以移动鼠标进行移动了

    二、转换到另一个全景图里

    • 转换有两种方法,意是改变全景图,而是改变相机位置,这里实现啊第二种
    • 创建一个Canvas,并设置成世界坐标
      在这里插入图片描述
    • 将Canva的stransform进行Reset,修改Scale值
      在这里插入图片描述
    • 再创建一个image,改变一下颜色,能够清晰的看见,移动一下位置,靠近天空,加上button组件
      在这里插入图片描述
    • 接着就再脚本里写上代码
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    public class Change : MonoBehaviour {
    	GameObject btn;
    	// Use this for initialization
    	void Start () {
    		btn = GameObject.Find("Canvas").transform.GetChild(0).gameObject;
    		btn.GetComponent<Button>().onClick.AddListener(MoveQJ2);
    	}
    	public void MoveQJ2()
    	{
    		transform.position += Vector3.right * 20;
    	}
    	// Update is called once per frame
    	void Update () {
    		transform.Rotate(-Input.GetAxis("Mouse Y"), Input.GetAxis("Mouse X"), 0);
    		transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, 0);
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 这里就实现了全景图的转换

    创建全局视频

    • 和之前一样,创建sphere,改变mesh值
    • 把全局视频直接拖到球体上
    • 再加上audio source组件
    • 球体上有个video player组件,组件上面有个audio source
      在这里插入图片描述
    • 点上后面的圆,在出现的面板上选择sphere,或者可以直接把刚才加上的audio source组件拖进那里
    • 这样播放全局视频的时候就有声音了
      在这里插入图片描述
    • 我们可以把刚才的image再复制一份,放到第二个全景图那里,实现在第一个全景图跳到第二个全景图然后跳到第三个全景视频里,在脚本里再添加几行代码就行

    运行效果

    Unity 2017.4.36

    • 传进去的包里面有个VR预制体,删掉原来的相机,直接运行就是VR立体效果
      在这里插入图片描述
  • 相关阅读:
    linux系统创建连接文件
    Java8 lambda 表达式 forEach 如何提前终止?
    Open Cascade旋转变换平行线
    汽车蓄电池
    kubectl系列(三)-节点标签操作
    使用selenium/drissionpage时如何阻止chrome自动跳转http到https
    kafka面试连环问,你能撑到哪一问?
    东北大学acm暑期夏令营结构体
    5_会话管理实现登录功能
    【毕业设计】26-基于单片机心跳体温血压系统仿真设计(原理图+仿真+演示视频+论文)
  • 原文地址:https://blog.csdn.net/weixin_44954896/article/details/125600931