前言

  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);
	}
}

  • 这样运行后就可以移动鼠标进行移动了

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

  • 转换有两种方法,意是改变全景图,而是改变相机位置,这里实现啊第二种
  • 创建一个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);
	}
}

  • 这里就实现了全景图的转换

创建全局视频

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

运行效果

Unity 2017.4.36

  • 传进去的包里面有个VR预制体,删掉原来的相机,直接运行就是VR立体效果
    在这里插入图片描述
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐