几百个天空盒,分了好几份

天空盒下载

1.
太空天空盒下载
2.
白天天空盒下载
3.
夜晚天空盒下载
4.
阴天雾霾天空盒下载
5.
HDRI Haven skybox-1
6.
HDRI Haven skybox-2
7.
其他天空盒-1
8.
其他天空盒-2

最后是没分的天空盒暂且叫其他天空盒吧,按需下载,喜欢的话请点个赞吧 !
没有积分的可以评论私信,没有及时回复的请见谅,最多大半天哦,
9.
2022年新上传的天空盒内含预览图
10.
55个天空盒
预览图

贴点摄像机移动的代码,添加完天空盒还能旋转一下看一看,不喜勿喷,主要是不贴代码推荐受影响
注释可以不用管,直接挂到摄像头上面,在拖一个地板在地面就可以了

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
//using UnityEngine.PostProcessing;
using UnityEngine.UI;public class CameraMove : MonoBehaviour
{//旋转变量float rotateY;float initialY;float Camerdis;Vector3 rayPoint;float newDis;float oldDis;private Vector3 point;private int isforward;//标记摄像机的移动方向private float eulerAngles_x;private float eulerAngles_y;private float distancePoint;//绕点旋转距离// public Texture2D ZoomView, PanView, OrbitView, FPSView;//public Text PO;public  float Xpos;public   float Ypos;public Camera cam;public bool UIclipMove = false;//是否在ui上限制移动bool LookFps=false;//高度限制public float maxHigh = 4000;public float minHigh = 0;public float maxX = 13000;public float minX = -27000;public float maxZ = 25000;public float minZ = -35000;// Use this for initializationpublic GameObject escObj;//public GameObject LightOBJ;//private void Awake()//{//    Screen.SetResolution(1920, 1080, false);//}void Start(){Camerdis = 1;rayPoint = cam.transform.forward * 800 + cam.transform.position;//ShowOrHideObj();cameraRot = transform.localRotation;}//void FixedUpdate()//{//    //if (Input.GetKeyDown(KeyCode.Escape))//    //{//    //    escObj.SetActive(true);//    //}//    if (EventSystem.current.IsPointerOverGameObject())//    {//        return;//    }//    //Camerdis = (float)Math.Round(cam.transform.position.y, 2);//    if (Input.touchCount == 1)//    {//        if (Input.touches[0].phase == TouchPhase.Moved&& Camera.main.ScreenToViewportPoint(Input.touches[0].position).x>0.2f)//        {//            Translation(0.005f);//        }//        else if (Input.touches[0].phase == TouchPhase.Moved && Camera.main.ScreenToViewportPoint(Input.touches[0].position).x <0.2f)//        {//            float moveX = Input.GetAxis("Mouse X") * Camerdis * 0.002f;//            Camera.main.transform.Translate(Vector3.forward * moveX);//        }//    }//    if (Input.touchCount == 2)//    {//        记录两个手指的位置//        //Vector2 nposition1 = new Vector2();//        //Vector2 nposition2 = new Vector2();//        记录手指的每帧移动距离//        //Vector2 deltaDis1 = new Vector2();//        //Vector2 deltaDis2 = new Vector2();//        //if (Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved) //第二个手指//        //{//        //    nposition1 = Input.GetTouch(0).position; //第一个手指屏幕坐标//        //    nposition2 = Input.GetTouch(1).position; //第二个手指屏幕坐标//        //    deltaDis1 = Input.GetTouch(0).deltaPosition;//        //    deltaDis2 = Input.GetTouch(1).deltaPosition;//        //    newDis = Vector3.Distance(nposition1, nposition2);//        //    if (newDis > oldDis)//        //    {//        //        isforward = 1;//        //    }//        //    else//        //    {//        //        isforward = -1;//        //    }//        //    //记录旧的触摸位置//        //    oldDis = newDis;//        //    //移动摄像机//        //    // Camera.main.transform.Translate(isforward * Vector3.forward * Time.deltaTime * (Mathf.Abs(deltaDis2.x + deltaDis1.x) + Mathf.Abs(deltaDis1.y + deltaDis2.y)) * Camerdis * 0.1f);//        //    Camera.main.transform.Translate(isforward * Vector3.forward * Time.deltaTime  * Camerdis * 0.1f);//        //    PO.text = isforward.ToString();//        //}//        //else//        //{//        if (Input.touches[0].phase == TouchPhase.Moved)//        { //            RotatePoint();//        }       //    }//}public void ExitQ(){Application.Quit();}//控制高度void ControlHigh(){float highY = transform.position.y;float highX = transform.position.x;float highZ = transform.position.z;highY = Mathf.Clamp(highY, minHigh, maxHigh);highX = Mathf.Clamp(highX, minX, maxX);highZ = Mathf.Clamp(highZ, minZ, maxZ);//transform.position = new Vector3(transform.position.x, highY, transform.position.z);transform.position = new Vector3(highX, highY, highZ);//AmbientOcclus();//控制AO}// Update is called once per framevoid Update(){//if (UIclipMove)//{//if (EventSystem.current.IsPointerOverGameObject())//{//    return;//}//}//transform.LookAt(escObj.transform);//if (Gamemanager._instatic.isMove)//{//    return;//}//if (Input.touchCount <= 0 && Camera.main.ScreenToViewportPoint(Input.mousePosition).x < Xpos && Camera.main.ScreenToViewportPoint(Input.mousePosition).y > Ypos)//{//if (EventSystem.current.IsPointerOverGameObject())//{//    return;//}//if (Input.GetMouseButtonUp(1) || Input.GetMouseButtonUp(0) || Input.GetMouseButtonUp(2))光标重置//{//    Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);//}if (Input.GetMouseButton(2))//按住左键平移{// Cursor.SetCursor(PanView, Vector2.zero, CursorMode.Auto);Translation(0.03f);ControlHigh();//ShowOrHideObj();}if (!EventSystem.current.IsPointerOverGameObject()){if (Input.GetAxis("Mouse ScrollWheel") < 0){RayPoint();transform.Translate(Vector3.back * Camerdis * 0.1f);ControlHigh();//ShowOrHideObj();}if (Input.GetAxis("Mouse ScrollWheel") > 0){RayPoint();transform.Translate(Vector3.forward * Camerdis * 0.1f);ControlHigh();//ShowOrHideObj();}}if (Input.GetMouseButtonDown(1)|| Input.GetMouseButtonDown(0)){eulerAngles_y = this.transform.eulerAngles.x;eulerAngles_x = this.transform.eulerAngles.y;RayPoint();ControlHigh();//ShowOrHideObj();distancePoint = Vector3.Distance(transform.position, rayPoint);}if (Input.GetMouseButton(1))//右键旋转{// Cursor.SetCursor(OrbitView, Vector2.zero, CursorMode.Auto);RotatePoint();ControlHigh();//ShowOrHideObj();}KeyTranslation();//}//if (Input.GetKeyDown(KeyCode.F10))//{//    if (LookFps == false)//    {//        LookFps = true;//    }//    else//    {//        LookFps = false;//    }//}//if (LookFps)//{//    lookFPS();//}}void Translation(float sheep)//平移控制{float moveX = Input.GetAxis("Mouse X") ;float moveY = Input.GetAxis("Mouse Y") ;//自身坐标的z轴投影到世界坐标的z轴,用自身坐标的y轴和z轴的值乘 自身的相对欧拉角的x的三角函数。float tranY = moveY * (float)Math.Sin(Math.Round(this.transform.localRotation.eulerAngles.x, 2) * Math.PI / 180.0);float tranZ = moveY * (float)Math.Cos(Math.Round(this.transform.localRotation.eulerAngles.x, 2) * Math.PI / 180.0);transform.Translate(new Vector3(-moveX, -tranY, -tranZ) * Camerdis* sheep, Space.Self);}void Rotation()//旋转控制{initialY = this.transform.localRotation.eulerAngles.y;rotateY = 0;rotateY += Input.GetAxis("Mouse X") * 2f;var rotation = Quaternion.Euler(this.transform.localRotation.eulerAngles.x, rotateY + initialY, 0);transform.rotation = rotation;}void RayPoint()//射线得到碰撞点,针对绕点旋转{Ray ray = cam.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));//射线  //  Ray ray = cam.ScreenPointToRay(Input.mousePosition);//射线  RaycastHit hit;if (Physics.Raycast(ray, out hit))//发射射线(射线,射线碰撞信息,射线长度,射线会检测的层级)  {rayPoint = new Vector3(hit.point.x, hit.point.y, hit.point.z);Camerdis = (float)Math.Round(cam.transform.position.y- hit.point.y, 2)+10;}//else//{//    rayPoint = transform.forward*0.005f  + transform.position;//摄像机前方 800 点//    //Camerdis = (float)Math.Round(cam.transform.position.y, 2) ;//}}float a = 0;public float XSensitivity = 2f;public float YSensitivity = 2f;//是否平滑public bool smooth;//平滑参数public float smoothTime = 5f;//相机private Quaternion cameraRot;Quaternion quaternion;void RotatePoint()//绕点旋转{eulerAngles_x += (Input.GetAxis("Mouse X")*2);eulerAngles_y -= (Input.GetAxis("Mouse Y")*2);eulerAngles_y = ClampAngle(eulerAngles_y, 3,89);quaternion = Quaternion.Euler(eulerAngles_y, eulerAngles_x, 0);Vector3 vector = quaternion * new Vector3(0, 0, -distancePoint) + rayPoint;transform.rotation = Quaternion.Slerp(transform.localRotation, quaternion, 20f * Time.deltaTime);if (Input.GetKey(KeyCode.LeftControl))//右键旋转{return;}transform.position = Vector3.Lerp(transform.position, vector, Time.deltaTime * 20f);//}void Euler()//当前物体的欧拉角{Vector3 eulerAngles = this.transform.eulerAngles;this.eulerAngles_x = eulerAngles.y;if (eulerAngles.x > 80){this.eulerAngles_y = 80;}else if (eulerAngles.x < 10){this.eulerAngles_y = 10;}else{this.eulerAngles_y = eulerAngles.x;}}//键盘控制void KeyTranslation()//平移控制{float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * 6;float moveY = Input.GetAxis("Vertical") * Time.deltaTime * 6;if (moveX == 0 && moveY == 0){return;}//自身坐标的z轴投影到世界坐标的z轴,用自身坐标的y轴和z轴的值乘 自身的相对欧拉角的x的三角函数。float tranY = moveY * (float)Math.Sin(Math.Round(this.transform.localRotation.eulerAngles.x, 2) * Math.PI / 180.0);float tranZ = moveY * (float)Math.Cos(Math.Round(this.transform.localRotation.eulerAngles.x, 2) * Math.PI / 180.0);transform.Translate(new Vector3(moveX, tranY, tranZ) * Camerdis * 0.05f, Space.Self);}//角度限制private static float ClampAngle(float angle, float min, float max){if (angle < -360)angle += 360;if (angle > 360)angle -= 360;return Mathf.Clamp(angle, min, max);}}

unity skybox天空盒下载相关推荐

  1. 2021Unity教程:Unity官方中文版免费下载方法(黑皮肤可选)无需破解!

    首先科普两个知识点: 1. Unity官方支持个人免费版,新的学习者和初创公司员工(公司财务规模低于10万美元一年)均可以使用.黑皮肤免费(Unity2019.3以上的版本),基本功能齐全,无需破解. ...

  2. Unity使用C#网络下载用户头像

    Unity使用C#网络下载用户头像 封装UnityEngine.WWW进行下载的类DownloadWWW .cs HTTP下载HttpManager.cs 其实每个人中都会遇到在项目下载用户头像,下面 ...

  3. Unity功能——Unity离线文档下载及使用

    声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改. 文章目录 前言 一.方法一 二.方法二 三.使用方法 方法一:把文档放在Unity安装路径下( ...

  4. Unity学习-skybox天空盒纹理

    1.素材 介绍一下十字形状的贴图:展开顺序是  后->左->前->右     上->下 2.十字型的天空盒制作 下载一个天空盒的贴图,然后拖进资源管理器,修改这两个地方,纹理形 ...

  5. unity添加天空盒的两种方式

    添加天空盒有两种方式  1 : 在当前相机上添加skybox     2 : 在当前场景上添加skybox (两种方式的结果是一样的   第一种方式的优势在于 如果 世界中有多个摄像机的话,切换摄像机 ...

  6. unity, 内置shader下载地址

    在unity的download页面上能找到Built in shaders的下载连接. 转载于:https://www.cnblogs.com/wantnon/p/4550631.html

  7. [Unity]如果AssetStore的下载无效怎么办

    1.先检查网络是否正常. 2.如果还是点击 下载 按钮,没有进行下载. 就先进入网页版的assetstore,搜索对应的组件. https://www.assetstore.unity3d.com/ ...

  8. unity Assetstore 和unityhub下载的东西在哪里

    assetstore下载的东西目录: C:\Users\Cxxxx\AppData\Roaming\Unity\Asset Store-5.x\Unity Technologies 例如: 标准资源包 ...

  9. Unity笔记之WebGL下载图片、视频

    需求:通过unity发布出来的webgl在网页上去下载给定路径的视频.图片等. 这里附一下参考的博客 这里面是下载图片的方式.对应的格式的话可以去百度查一下.添加链接描述 下载视频的话只需要把这里面的 ...

  10. Unity和Hub只能下载到C盘的解决办法

    在使用Unity下载Asset Store里的资源或者用Package Manager下载Package又或者使用Unity Hub下载Unity的时候,都只能下载/安装在C盘,Unity又没有提供自 ...

最新文章

  1. go mongodb排序查询_「赵强老师」MongoDB中的索引(下)
  2. 当当网新用户注册界面——CSS代码
  3. python求两数之和的命令_数学建模:科学计算Python2小时-Python基础
  4. java之arr.toString()与Arrays.toString(arr)区别
  5. android 后台耗时,android教程之使用asynctask在后台运行耗时任务
  6. gt爵士变形步骤_编码广播:编码时您可以听24/7爵士节奏
  7. 虚幻引擎4.3发布:支持 iOS 8 的 Metal 图形 API
  8. 系统学习NLP(二十六)--BERT详解
  9. Windows驱动开发入门
  10. phpwind升级php7,phpwind v8.7 升级教程图文说明
  11. md5加盐(MySQL,PHP)
  12. 6. NMF方法及实例
  13. c语言解6位数密码程序,牛逼了!C语言打造的6位密码随机生成器,小白也可以学会...
  14. 图片拼图效果——ps
  15. Canvas实现太极图案并旋转
  16. 真实世界里的钢铁侠-特斯拉汽车创始人埃隆#183;马斯克(Elon Musk)
  17. FireStart教程:基于SharePoint的出差报销流程二
  18. Rod-cutting(动态规划)
  19. 网站压力测试--abtest测试详解abtest
  20. android 高通分区表,高通msm8994平台的NV到底是储存在哪个分区?

热门文章

  1. linux入门命令总结
  2. 微信项目直播开发(一)
  3. 51单片机8路抢答器c语言,51单片机8路抢答器
  4. AD09 PCB设计中频繁弹出“undeclared identifier........“
  5. 用python爬虫批量下载pdf
  6. Oracle分析函数用法
  7. 程序员必读的三十本经典书籍
  8. 通过jsp实现省市区县四级联动菜单
  9. 国内几大主流论坛(bbs)系统
  10. 模糊PID控制算法的C++实现