2019-07-30 10:24:15 weixin_44302602 阅读数 58

Unity在游戏开发中视角移动是很重要
比如在侠盗猎车-罪恶都市中的Tab键可以切换到后方视角
在这里我将介绍两个方法
一个是快速(无过程)的切换视角
一个是有过程的切换视角

1无过程切换视角

首先我们在unity中创建两个空物体 改变其位置,稍微远一点(以观察)
然后我们也可以改变两个空物体的旋转 毕竟视角也是要到达我们想要的方向
然后就是给我们的相机添加脚本了这里直接给出代码

public Transform ForntPosition;
public Transform AfterPosition;
private void Start()//初始化位置方向
    {
        transform.position = ForntPosition.position;
        transform.forward = ForntPosition.forward;
    }
    private void Update()
    {
        if(Input.GetKey (KeyCode.A))
        {
            transform.position = ForntPosition.position;
            transform.forward = ForntPosition.forward;
        }
        if(Input.GetKey (KeyCode.S))
        {
            transform.position = AfterPosition .position;
            transform.forward = AfterPosition.forward;
        }
    }

这几句代码比价简单 稍微有些基础就可以看懂
在unity中赋值
把它挂在相机上即可按a和s切花视角(包括位置和方向)

2.具有过程的视角切换

首先还是上边的准备工作
然后这里需要偶一个Vector3.Lerp的函数 大家如果不懂可以查阅(比较简单)
给出代码

public Transform ForntPosition;
public Transform AfterPosition;
private void Start()//初始化位置方向
    {
        transform.position = ForntPosition.position;
        transform.forward = ForntPosition.forward;
    }
    private void Update()
    {
        if (Input.GetButton("Fire1"))
        {
            SetForntPosition();
        }
        if(Input.GetButton("Fire2"))
        {
            SetAfterPosition();
        }
    }
    private void SetForntPosition()//改变至位置1
    {
        transform.position = Vector3.Lerp(transform.position, ForntPosition.position, Time.fixedDeltaTime * Smooth);
        transform.forward = Vector3.Lerp(transform.forward, ForntPosition .forward, Time.fixedDeltaTime * Smooth);
    }
    private void SetAfterPosition()//改变至位置2
    {
        transform.position = Vector3.Lerp(transform.position, AfterPosition.position, Time.fixedDeltaTime * Smooth);
        transform.forward = Vector3.Lerp(transform.forward, AfterPosition.forward, Time.fixedDeltaTime * Smooth);
    }

在unity中赋值
很简单 按鼠标的左右键即可根据距离

2019-08-05 23:23:17 u013914307 阅读数 71

通过滚动鼠标的中键,来控制相机的视角的放大和缩小,在此记录一下此功能

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 鼠标滚轮控制相机视野的变化
/// </summary>
public class MouseMiddleControlCamera : MonoBehaviour {
    [Header("相机视角的最小值")]
    [Range(0,100)]
    public float m_CameraFieldOfViewMin;
    [Header("相机视角的最大值")]
    [Range(0, 100)]
    public float m_CameraFieldOfViewMax;
    private void Awake()
    {
        m_CameraFieldOfViewMin = 15;
        m_CameraFieldOfViewMax = 100;
    }
    // Use this for initialization
    void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
        //鼠标滚轮的效果
        //camera.main.fieldofview摄像机的视野
        //Camera.main.orthographicSize摄像机的正交投影
        //Zoom out 缩小
        //GetAxis获得轴,Mouse ScrollWheel鼠标滚轮
        if (Input.GetAxis("Mouse ScrollWheel") < 0)
        {
            if (Camera.main.fieldOfView <= m_CameraFieldOfViewMax)
                Camera.main.fieldOfView += 2;
            if (Camera.main.orthographicSize <= 10)
                Camera.main.orthographicSize += 1f;
        }
        //Zoom in 放大
        if (Input.GetAxis("Mouse ScrollWheel") > 0)
        {
            if (Camera.main.fieldOfView > m_CameraFieldOfViewMin)
                Camera.main.fieldOfView -= 2;
            if (Camera.main.orthographicSize >= 1)
                Camera.main.orthographicSize -= 1f;
        }
    }
}

 

工程用的Unity 5.6.5p4 (32-bit)的版本,位置在链接:https://pan.baidu.com/s/1Ov8irVY2z8V4T3ElDAvRrA
提取码:mt82
有问题的话,请指出

2019-04-10 13:40:01 luoyikun 阅读数 349

导入的视频不能直接放StreamingAssets下,否则不可识别为视频文件

在这里插入图片描述
在这里插入图片描述
使用2比1的全景视频,把VedioPlayer组件加到球体上。
因为球体是使用mesh,会受到光照的影响,导致视频可能出现一边明一边暗情况,所以把球的shader换为自发光

2012-12-12 02:40:13 cynixway 阅读数 2838

因工作需要,改变Uv以实现纹理的一些变化

结果发现纹理便模糊了,特别是横竖条纹

问过很多人,或者不知道,或者乱说(也许他们也不知道)

和同事的一个师兄(他这么叫,呵呵)研究下

觉得像是镜头视角的问题

但我始终感觉不是,心中想了一个方法,今天试了下,果然问题解决了

Unity3D,有时真不舒服,嘿嘿

…………………………………………………………………………………………………………

后记,还是没解决,没解决,难道这是个bug,bug?大哭

2017-12-23 19:16:09 VRunSoftYanlz 阅读数 1325

unity引擎基础

##1Unity引擎简介

++1.1Unity3D简介

++++Unity Technologies公司开发的用于轻松创建游戏和三维互动内容的开发工具,是一个专业的跨平台游戏引擎。

-- 2D游戏: 视角完全锁定,二维坐标。 如:2048

-- 3D游戏: 可以任意的变化视角,无锁定。 三维坐标。 如:CS

++++虚拟现实 Virtual Reality:又称为虚拟仿真技术,是当今世界前沿科学之一。 利用电脑模拟产生一个三维空间的虚拟世界,通过各种输入设备和虚拟环境中的事物进行交互,让使用者身临其境的观察空间内的事物。

-- 虚拟现实设备: 数据手套,动作捕捉器,头戴式显示器 ... ...

++1.2、著名企业的加入

++++201410月,Unity公司创始人兼CEO宣布转任执行副总裁,接替他的人选是曾任EA公司CEO的约翰.里奇蒂耶洛(John Riccitiello)。

++++20155月,Unity CEO宣布,前Epic Games总裁,迈克.卡普斯(Mike Capps)将会正式加入Unity

++1.3、游戏引擎

++++游戏引擎是一款游戏框架。 包含以下系统: 渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、动画系统、人工智能、网络引擎、动画引擎、人工智能、网络引擎、以及场景管理。

++++使用游戏引擎,开发者可以重用已有的核心技术,将精力集中在游戏逻辑和设计上,从而简单快速的创建游戏。

++1.4Unity特点

++++开发效率高

++++价格便宜

++++新手居多

++++22个平台间自由迁移,出色的部署

++++发布平台包括: iOSAndroidWindow PhoneWindowsweb、微软Xbox360、索尼PS3、任天堂Wii等等。

++1.5Unity发展历史

++++2004年丹麦哥本哈根三位热爱游戏的年轻人决定开发一个易于使用、与众不同并且费用低廉的游戏引擎,帮助所有喜爱游戏的年轻人实现游戏创业梦想。

++++2005年发布了Unity1.0版本:只应用于Mac平台。

++++2007年发布了Unity2.0版本: 新增了地形引擎、实时动态阴影、网络多人联机功能。

++++2010年发布了Unity3.0版本: 支持Android平台。

++++2012Unity上海分公司成立,正式进军中国市场。

++++20153月发布了Unity5.0版本: 包括了许多新功能及改进,如:实时全局光照、音频、动画系统等。

++1.6、使用Unity开发的游戏

++++网页游戏

-- 坦克英雄、新仙剑Online、绝代双骄、纵横无双、天神传等。

++++单机游戏

-- 御天降魔传、轩辕剑六等。

++++手机游戏

    -- 王者荣耀、神秘逃亡12,武士、机器人大战、亡灵杀手、极限摩托车2


##2、用户界面介绍

++2.1Unity界面布局

++++Unity界面布局

    HierarchyProjectSceneInspector

++++Project项目资源面板

-- 存放游戏的所有资源。

-- 与项目中资源文件夹Assets对应,例如场景、脚本、模型、音频、图片等文件。

++++Hierarchy层次面板

-- 显示当前场景中所有游戏对象的层级关系。

-- 包含了当前场景的游戏对象(GameObject),其中一些是资源文件的实例,如3D模型和其他预制组件的实例。

++++Scene场景面板

    -- 提供设计游戏界面的可视化面板。

++++Game游戏面板

    -- 预览游戏运行后的界面。

++++Inspector检视面板

-- 显示当前选定游戏对象附加的组件及其属性信息。

-- 为重要游戏物体选择图标。

++2.2、资源商店的使用

++++它拥有很多由Unity Technologies和开发人员创造的免费和商业的资源。 在我们学习或开发过程中的各种可用资源。 这其中涵盖了从纹理,模型,动画到完整的实力工程,教程和编译器的拓展等方方面面。 我们只需要在Unity引擎中打开Asset Store视图即可浏览该资源的商场。 通过简单的注册流程便可以下载所需要的资源。

https://unity3d.com/unity/features/ads

++2.3、创建游戏对象

++++游戏对象也称为游戏物体,游戏中的一个角色,一个模型甚至环境特效都可以称为游戏对象。

++++点击菜单GameObject即可创建Unity提供的基本游戏对象。

++2.4、常用快捷键的使用

++++变换工具

-- Q :移动场景

-- W :移动物体

-- E : 旋转物体

-- R : 缩放物体

++++定点吸附: 选择物体后按住V键,定位定点,再拖拽到目标物体某个定点上。

-- 备注: 先松V

++++按下鼠标滚轮拖动场景,滑动滚轮缩放场景。

++++鼠标右键旋转场景,点击Q键后,通过左键移动场景。

++++点击右键同时按下 W/S/A/D/Q/E键可以实现场景漫游。

++++Scene面板选中物体后按F键,或在Hierarchy面板双击物体,可将物体设置为场景视图的中心。

++++按住alt键同时通过鼠标左键围绕某物体旋转场景,鼠标右键缩放场景。

++++选中摄像机,按Shift+Ctrl+F调整摄像机视角。


##3Terrain地形系统

++3.1、创建地形

++++要创建新地形(Terrain)请点击【Game Object菜单】->3D Object->Terrain】。 这会将“地形”添加到您的项目(Project)和层级视图(Hierarchy Views)中。

++3.2、编辑地形(高度,地形纹理等)

++++选中地形(Terrain)后,可以在监视器中查看一些极好的新地形编辑工具。 每个矩形按钮都是不同的地形工具。 有更好高度,绘制泼溅贴图或添加树木或岩石等细节的工具。 点击该工具按钮,即可使此工具。 同时,工具按钮下方会出现对该工具的简短说明。

++++大部分工具会使用笔刷,使用笔刷的任何一种工具都会显示许多不同的笔刷。 鼠标在地形上悬停时,当前选中的笔刷会以已制定的大小显示预览。

++3.3、树和草的创建与编辑

++++选中地形(Terrain)后,可以在检视器中查看一些极好的新地形编辑工具。

-- 第四项和第五项是用来创建和编辑树和草。

-- 选择Edit Trees...Edit Details...导入树和草资源,刷到地形上即可。


##43D基础理论

++4,1、坐标系

++++2D笛卡尔坐标系

    -- 2D平面中,两个数(x,y)就可以定位一个点(因为是二维空间,所以使用两个数,类似地,三维空间中使用三个数)。 确切的说,每个分量都是到相应轴的有符号距离,如图所示,x分量表示该点到y轴的有符号距离,同样y分量表示该点到x轴的有符号距离。 “有符号距离”是指在某个方向上距离为正,而在相反的方向上为负。

++++3D笛卡尔坐标系

-- 3D中定位一个点需要3个数:x,yz,分别代表改点到yz, xzxy面的有符号距离。 例如x值是到xy平面的有符号距离,此定义是直接从2D中扩展来的。

-- Unity中采用左手坐标系。拇指、食指和其余手指分别代表 X,Y,Z轴正方向。

++++坐标系

-- 世界坐标(Global

  世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。 世界坐标系简言之为“东,西,南,北”。

-- 物体坐标(Local

      物体坐标系是和特定物体相关联的坐标系。每个物体都有它们独立的坐标系,简言之为“前,后,左,右”。当物体改变方向时,和该物体相关联的坐标系将随之移动和改变方向。

++++视图

-- ISO: 正交模式 国际标准试图(远近一样大)

--Persp: 透视模式(近大远小)

++4.2、向量

++++向量:有大小和方向的量,如“速度”和“位移”就是向量。

++++标量:只有大小没有方向的量,如“速率”和“长度”就是标量。

++++向量加法:

++++向量减法: 通过用于获取从一个对象到另一个对象的方向和距离。 在减法中,两个参数的顺序会影响结果,b-a方向从点a指向点b,大小为ab线段的长度。

++++法向量: 如果一个非零向量n与平面a垂直,则称向量n为平面a的法向量。

++4.3、网格

++++在图形学中,多边形网格不过是一个多边形列表,三角网格就是全部由三角形组成的多边形网络,任意多边形网格都可以转换成三角网格。

++++网格组件

-- 网格筛选器(Mesh Filter):选择使用什么样的网格。

-- 网格渲染器(Mesh Renderer):渲染网格。

++4.4、纹理

++++纹理(Textures)即是附加到物体表面的贴图,下图是纹理资源的导入。

++++材质和着色器

-- 材质: 物体的质地,指色彩、纹理、光滑度、透明度、反射率、折射率、发光度等。 实际就是 Shader的实例。

-- Shader着色器: 专门用来渲染3D图形的技术,可以使纹理以某种方式展现。 实际就是一段嵌入到渲染管线中的程序,可以控制GPU运算图像效果的算法。



-- 纹理、着色器与材质的关系





#立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++立钻哥哥推荐的拓展学习链接(Link_Url

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++++Unity引擎基础https://blog.csdn.net/vrunsoftyanlz/article/details/78881685

++++Unity面向组件开发https://blog.csdn.net/vrunsoftyanlz/article/details/78881752

++++Unity物理系统https://blog.csdn.net/vrunsoftyanlz/article/details/78881879

++++Unity2D平台开发https://blog.csdn.net/vrunsoftyanlz/article/details/78882034

++++UGUI基础https://blog.csdn.net/vrunsoftyanlz/article/details/78884693

++++UGUI进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78884882

++++UGUI综合https://blog.csdn.net/vrunsoftyanlz/article/details/78885013

++++Unity动画系统基础https://blog.csdn.net/vrunsoftyanlz/article/details/78886068

++++Unity动画系统进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78886198

++++Navigation导航系统https://blog.csdn.net/vrunsoftyanlz/article/details/78886281

++++Unity特效渲染https://blog.csdn.net/vrunsoftyanlz/article/details/78886403

++++Unity数据存储https://blog.csdn.net/vrunsoftyanlz/article/details/79251273

++++Unity中Sqlite数据库https://blog.csdn.net/vrunsoftyanlz/article/details/79254162

++++WWW类和协程https://blog.csdn.net/vrunsoftyanlz/article/details/79254559

++++Unity网络https://blog.csdn.net/vrunsoftyanlz/article/details/79254902

++++C#事件https://blog.csdn.net/vrunsoftyanlz/article/details/78631267

++++C#委托https://blog.csdn.net/vrunsoftyanlz/article/details/78631183

++++C#集合https://blog.csdn.net/vrunsoftyanlz/article/details/78631175

++++C#泛型https://blog.csdn.net/vrunsoftyanlz/article/details/78631141

++++C#接口https://blog.csdn.net/vrunsoftyanlz/article/details/78631122

++++C#静态类https://blog.csdn.net/vrunsoftyanlz/article/details/78630979

++++C#中System.String类https://blog.csdn.net/vrunsoftyanlz/article/details/78630945

++++C#数据类型https://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity3D默认的快捷键https://blog.csdn.net/vrunsoftyanlz/article/details/78630838

++++游戏相关缩写https://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++设计模式简单整理https://blog.csdn.net/vrunsoftyanlz/article/details/79839641

++++U3D小项目参考https://blog.csdn.net/vrunsoftyanlz/article/details/80141811

++++UML类图https://blog.csdn.net/vrunsoftyanlz/article/details/80289461

++++Unity知识点0001https://blog.csdn.net/vrunsoftyanlz/article/details/80302012

++++U3D_Shader编程(第一篇:快速入门篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372071

++++U3D_Shader编程(第二篇:基础夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372628

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/


--_--VRunSoft : lovezuanzuan--_--

没有更多推荐了,返回首页