unity3d软件编写_使用vs给unity3d编写脚本 - CSDN
  • Unity3D用什么语言开发好?用什么开发工具?

     Unity3D用什么语言开发好?用什么开发工具?

     随着3D技术越来成熟,3D游戏开发备受大家的青睐!我第一次接触3D技术是从一部3D电影开始!当时在看完那部电影之后,我才开始对3D有了初步认识!除了电影,3D技术还运用在很多方面,比较最近非常火的VR技术,AR技术等。但是接下来我要为大家介绍的是一款游戏引擎——Unity


      对于Unity相信很多人多不陌生,用一句话来描述就是:Unity是游戏引擎、游戏开发工具。支持的维度 3D2D,可以进行3D2D游戏开发。对编程有所认知的朋友,大概会说“你问Unity是干什么?开发游戏一个开发工具”。在程序员的工作生涯中,开发工具使用最为常见,因为针对不同的编程语言使用不同的开发工具是有所差异的,需要安想装不同的开发环境,如最近很火的小程序需要用微信web开发者工具,VS是开发C#常用的工具。那么,作为开发工具Unity3D支持什么语言?下面就让我们收集一下信息,一起来了解一下Unity3D用什么语言开发好?

      Unity百科里关于编程语言写的是C#JS两种语言?对于不是计算机专业的朋友,可能对两个语言很陌生。简单的接受一下两种语言的运用情况吧!

      JS是一个脚本语言,全称是JavaScript,请注意它不是Java,两个不是一个东西,不要弄混!目前运用最多的方面就是前段开发,可以做一些也没交互,最为简单就是用js实现鼠标点击事件。

      C#是微软公司的开发的,我最早接触net开发采用的语言就是C#,支持C#开发的最广泛的软件就是VSMicrosoft Visual Studio,安装包很大),个人的看法:C#在语言逻辑、安全等方面比JS更具有限。

    从市场上Unity开发语言的选择中,C#备受企业青睐!为了能向企业输送对口人才!蓝鸥Unity3DC#语言开发!

      上面我提了一下VS安装包比较大,相对于Unity自带的mono软件(用来写脚本的软件)更便捷。为了方便安装,蓝鸥Unity3D开发脚本使用mono软件进行编写。

      关于蓝鸥Unity3D用什么语言开发好就简单介绍到这里,欢迎大家留意一起交流!

    展开全文
  • 结合 Unity3D 层级式的综合开发环境、视觉化编辑、详 细的属性编辑器和动态的游戏预览的特点,在软件界面介绍及功能使用方面以分级、分阶、 分段手法来向大家详尽阐述概念和使用方法,在程序编写方面以以OOP 【面向...
  • Unity3D中构建3D模拟

    2020-06-16 02:53:16
    第一部分介绍了如何设置Unity3D ,第二部分介绍了如何 使用C#控制Unity3D 。 在本系列的最后一篇文章中,我们将深入研究如何使用Unity3D将代码实际制作成一个简单的游戏。 让我们开始吧 让我们建立一些关卡,...

    欢迎来到这个由三部分组成的关于Unity 3D的博客系列的最后一篇文章。 在本系列中,我们将在Unity3D中使用丰富的控件创建一个简单的3D游戏。 第一部分介绍了如何设置Unity3D ,第二部分介绍了如何 使用C#控制Unity3D

    在本系列的最后一篇文章中,我们将深入研究如何使用Unity3D将代码实际制作成一个简单的游戏。

    让我们开始吧

    让我们建立一些关卡,进行更多类似游戏的动作和最终目标。

    首先,让我们添加一些要坚持的世界墙。 为此,我们将添加一堆多维数据集,并使用以前的实践来将它们缩放和定位。

    让我们转到Unity编辑器中的“场景视图”。 单击“层次结构视图”(未选择任何内容),然后创建另一个空对象。 清除其变换(0,0,0),然后将此对象命名为“世界”。

    Unity3D.3.1

    然后,我们要清除一些不再需要的旧对象。 让我们删除为测试添加的白色立方体和球体。

    Unity3D.3.11

    现在,选择“ World对象”,让我们添加一个多维数据集。 然后,将其位置和比例尺值更改为相等的位置0、2.5、0和比例尺10、5、1。这将使我们的墙长10个单位,高5个单位,宽1个单位。

    Unity3D.3.12

    现在,让我们的场景摄像机定位为具有自顶向下的视图。 单击“场景视图”右上角的绿色Y。

    Unity3D.3.13

    Unity3D.3.14

    现在将墙旋转90度并将位置设置为-5、2.5、5。

    Unity3D.3.15

    然后让我们添加一堵墙的副本。 右键单击它,复制,然后将其X位置设置为5。

    Unity3D.3.16

    选择我们拥有的两堵墙,然后再次复制它们。 选中这两个选项后,我们将其Z位置值设为15。

    Unity3D.3.17
    仍然选择它们,再次复制,并将它们移到Z位置25和X位置-10。

    接下来,我们将使用一个新工具将它们一起旋转。 在右上角有一组5个按钮。 我们将选择中间按钮,然后将Y旋转设置为0。

    Unity3D.3.18

    Unity3D.3.19

    然后,我们将选择Wall(4)使其比例尺X比例尺30变长。

    Unity3D.3.20

    然后选择Wall(2)并将其比例X也设置为30。

    Unity3D.3.21

    然后选择Wall和Wall(3),复制它们,并将复制品设置为X位置-15。

    Unity3D.3.22

    然后选择Wall(2),复制它,并将其X位置设置为-25。

    Unity3D.3.23

    现在,使我们的速度与本课程更加友好。

    在“层次结构视图”中选择“ Player对象,然后在检查器编辑器中编辑值“前进速度”和“旋转速度”。 我喜欢5代表前进,50代表转向。

    Unity3D.3.24

    现在让我们为游戏添加一个目标。 让我们添加一个具有碰撞器的区域,该碰撞器在越过终点线时触发。

    首先让我们添加完成区域。 我们将使用另一个多维数据集来设置边界。 在没有选择任何内容的层次结构视图中,通过右键单击3D对象->多维数据集添加多维数据集。 我们将其命名为Finish,将其位置设置为-10、2.5、15,并将其比例设置为5、5、5。

    Unity3D.3.25
    接下来,让我们给它新的材料。 在“资源”窗口中右键单击,然后单击创建->材质。 让我们将其Albedo设置为00B6006B,然后将其渲染模式更改为“透明”。 这使其绘制透明。

    Unity3D.3.26

    然后,我们需要编辑Finish Cube Collider 而不是添加到物理上,我们希望它禁用碰撞并仅触发。 我们通过选择Finish对象来Finish此操作,然后在Box Collider下的Inspector中,选中“ Is Trigger”。 这将使引擎触发OnTrigger方法。

    Unity3D.3.27

    然后,将脚本添加到Finish对象中,以控制完成时发生的情况。 我们将其FinishController ,然后在MonoDevelop FinishController其打开。 然后,我们添加一个新函数,然后在输入对象时进行记录。

    void OnTriggerEnter(Collider collider){
    	Debug.Log( “Finished” );
    }

    Unity3D.3.28

    现在按播放。 我们应该能够环游世界并找到Finish立方体。 进入多维数据集后,我们应该能够打开控制台窗口并看到消息“ Finished”。

    Unity3D.3.29

    Unity3D.3.30

    现在,将其设置为在显示屏上显示一条消息以向用户显示,而不是仅记录该消息。 我们将说他们完成了游戏,然后添加了一个按钮以重新启动游戏。

    首先,我们需要将Text对象添加到我们的世界中。 转到“层次结构视图”,右键单击,然后单击“ UI =>文本”。 这将为我们的场景增加三件事:一是应在摄像机视口中显示的文本对象,二是Canvas(即GUI后面的设置和层次结构),三是EventSystem ,该事件系统可以引发和捕获事件GUI就像拖放一样。

    Unity3D.3.31

    在“场景视图”中很难处理文本,因此让我们切换到“游戏视图”。

    Unity3D.3.32

    现在,我们应该可以在右下角看到“新文本”字段。 让我们在层次结构视图中选择Text对象。 在检查器中,我们可以编辑文本。 将其位置设置为0、0、0,将宽度设置为500,将高度设置为500。将“文本”设置为“ You Finished”,格式为粗体,字体大小为80,颜色为红色。

    Unity3D.3.33

    现在,让我们打开FinishedController Script并添加一些代码。 我们首先需要能够访问UI库。 因此,在脚本的顶部,我们需要使用UnityEngine.UI进行添加,然后添加一个public Text finishedText UnityEngine.UI ,以便可以访问我们的text元素。

    Unity3D.3.34

    现在回到编辑器。 让我们单击“完成”多维数据集对象,然后将“文本”对象拖到脚本的“完成文本”字段中。

    Unity3D.3.35

    现在,我们可以访问text元素。 要设置我们的文本,让我们在FinishedController > Start function finishedText.text = “”编写; 从某种意义上讲,这将在我们运行游戏时通过将文本保留为空白来隐藏文本。

    Unity3D.3.36

    现在,让我们OnTriggerEnter函数,并添加代码以在文本中写上“ You Finished”。

    Unity3D.3.37

    现在按播放。 我们应该看到文本在游戏开始时就消失了。 一旦找到饰面并跨入多维数据集,它将为您提供完成的文字。

    Unity3D.3.38

    Unity3D.3.39

    现在让我们做与文本相同的操作,但是这次添加一个按钮。 选择按钮,然后在检查器中,更改文本以重新启动游戏。 让我们将其保留在默认位置。

    Unity3D.3.40

    现在,让我们转到FinishController并添加另一个公共UI元素public button restartButton

    Unity3D.3.41

    然后返回到“完成”对象的检查器。 让我们将按钮拖动到restartbutton

    Unity3D.3.42

    让我们在启动函数中添加一些代码。 我们将希望隐藏代码,以使我们无法一直看到它,还需要重置一些代码。 首先,我们可以添加restartButton.gameObject.SetActive(false)隐藏,这将隐藏游戏对象。 然后在OnTriggerEnter我们需要使用restartButton.gameObject.SetActive(true);将其反转restartButton.gameObject.SetActive(true);

    Unity3D.3.43

    然后在FinishController ,添加一个名为RestartGame()的公共void函数。 这将是我们在按钮on click控制器中调用的函数。 同样在函数中,我们添加代码以在按下场景时重新加载场景,使用UnityEngine.SceneManagement;在文件顶部添加另一个using语句UnityEngine.SceneManagement; 然后,将代码添加到RestartGame Function SceneManager.LoadScene(“Main Scene”); 它必须是您在字符串中调用场景的名称,否则它将更改您的场景,而不是重新加载它( Main.Scene )。

    Unity3D.3.44

    现在,我们可以转到“层次结构视图”并选择“按钮”对象。 在检查器中,底部有一个On Click Controller ”。 我们只想单击+号并添加一个新的运行时。 然后,将Finish游戏对象拖到下拉列表中,单击no函数,然后选择FinishController => RestartGame

    Unity3D.3.45

    Unity3D.3.46

    现在玩吧。

    您现在应该可以玩到游戏结束。 触发完成后,您应该会看到“您已完成”和“重新启动游戏”按钮的消息。 如果您单击“重新启动游戏”按钮,它应该允许您再次播放。

    Unity3D.3.47

    包起来

    结束!

    现在,您应该能够在带有丰富控件的Unity3D中创建一个简单的3D游戏或应用程序。 请留下您的任何评论或问题。 谢谢阅读!

    翻译自: https://www.javacodegeeks.com/2016/08/building-3d-simulations-unity3d.html

    展开全文
  • Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是...,下面跟大家介绍的是Unity3D游戏开发软件的基本组成有哪些...

      Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎,下面跟大家介绍的是Unity3D游戏开发软件的基本组成有哪些,希望对大家有帮助。

      Unity3D游戏开发软件基本组成一:Scene场景

      类似于Flash中的stage,用于放置各种对象。

      Unity3D游戏开发软件基本组成二:GameObject

      可以携带各种Component(每个GameObject至少带有Transform组件,所有的组件都可以从顶部菜单Component里面找到并添加给游戏对象)。

      Unity3D游戏开发软件基本组成三:Component组件

      附加在GameObject上,不同的组件可以使GameObject具有不同的属性,Transform、碰撞器、刚体、渲染器等都是组件,脚本也是组件的一种,对象所表现出来的行为都是由组件实现的。

      Unity的话主要还是分两块,第一块是美术,美术的话主要包括3d模型、材质、纹理这几部分,当然也可以说还有shader(着色器),Unity本身拥有几十种shader,也可以根据自己的需要使用shaderLab语言来编写shader,这个相对来说会有些难度,所以一般只用Unity自带的和网上 “流传”的,另一个则是程序方面的。

      更多Unity3D游戏开发技术或资讯,请关注菜鸟在线官网,还有相关Unity3D教程为你准备!

    转载于:https://www.cnblogs.com/newbieol/p/5140152.html

    展开全文
  • Unity3d不久之前正式发布了Unity3d 2017.1, 这个版本的发布也宣告了Unity3d正式告别了5.x时代,并且开始已年份直接命名,开启了新的纪元。那么Unity3d 2017相较上一版本到底有哪些改进呢?这介绍这些改进之前先放出...

    Unity3d不久之前正式发布了Unity3d 2017.1, 这个版本的发布也宣告了Unity3d正式告别了5.x时代,并且开始已年份直接命名,开启了新的纪元。那么Unity3d 2017相较上一版本到底有哪些改进呢?

    这介绍这些改进之前先放出下载地址:Unity 2017.1
    有趣的是通过Unity产品蓝图我们可以发现Unity 2017.2 beta已经提供下载测试并且Unity 2017.3也已经在制作中了。
    这里写图片描述
    Unity 2017.2 beta下载地址:Unity 2017.2 beta

    以下关于Unity2017.1的介绍内容来自Unity官方中文社区,原帖地址:[官方] Unity 2017.1正式版发布

    Unity 2017.1中包含大量新功能与改进。主要内容如下:

    • 艺术家和设计师们:全新的叙事和游戏视频创作工具
      Unity 2017.1为艺术家和设计师们提供了全新的工具,使用Timeline,Cinemachine和Post-processing工具,可以创造令人惊叹的影视内容,合成精美相机镜头,描绘更好的视觉故事。
      Timeline是一款强大的可视化新工具,可用于创建影视内容,例如过场动画、预告片、游戏试玩视频等等。
      Cinemachine是一个高级相机系统,您可以像电影导演一样,在Unity中合成镜头,无需编写任何代码,引领您进入程序化摄影时代。
      Post-processing可以很方便地为场景应用各种逼真滤镜,使用电影工业级技术、控件和颜色空间格式来创造高质量视觉效果,让画面更生动、更逼真,助您描绘更好的视觉故事。
    • 效率:协作、实时操作分析、工具
      我们发布了Unity Teams,它由一系列简化创作者协作流程的功能和解决方案组成,包含Collaborate多人协作(现已发布)和Cloud Build云构建。
      实时操作分析系统引入了新的、更简单的方法,帮助您理解用户,并在不需要重新部署的情况下,对游戏做出动态的反应和调整。
      最重要的是,Unity 2017.1对编辑器进行了大量更新,包括对FBX导入、动画工作流程、2D功能、Asset Bundle工作流和Visual Studio集成的改进。
    • 图形与平台:全面改进
      Unity 2017.1对粒子系统和Progressive Lightmapper进行了大量改进,提供了更多选择来实现您的艺术愿景并控制性能。不同平台可采用不同的渲染品质,例如iOS平台上的Deferred Rendering,和PC上的NVIDIA VRWorks。
      这些都只是Unity 2017.1的亮点概念,下面将介绍完整丰富的细节内容!

    Unity 2017.1新看点

    艺术家叙事工具: Timeline和Cinemachine介绍

    设计师、艺术家或动画师们可以使用新的集成叙事工具,自己制作影视内容和游戏视频,而不用依赖程序员。这意味着开发效率更高,而节约沟通与排队成本。

    Timeline是一款强大的可视化新工具,可用于创建影视内容(例如短片Adam)。通过编排游戏对象、动画、声音和场景,来创建过场动画、游戏视频等等。有了Timeline,您可以专注于叙事和电影艺术创作,而非编码。

    Timeline基于轨道的序列工具,使用“拖放”操作来编排动画、声音、事件、视频等元素,以更快地创建漂亮的过场动画和程序化内容。Timeline有许多功能,例如动画、音频、自动关键帧,以及可以锁定或静音特定轨道的多轨道界面。Timeline可通过Playable API进行扩展,支持创建自定义轨道,来驱动游戏中的任意系统。您可以制作一个Timeline剪辑来表示几乎所有内容——并且可以重复播放、缩放和混合这些剪辑,所有这些都可在Timeline中实现。
    这里写图片描述

    Cinemachine 是多年游戏和电影摄像机的构建经验凝聚而成的结晶。现在,它将业界领先的摄像操作置于所有人手中,引领了程序化摄影的时代。

    这是一套智能摄像机,可以动态的根据场景组成和交互,在最佳时间拍摄最佳镜头。使您摆脱无尽的手工动画、摄像机编程以及修订的过程。

    Cinemachine可以在Asset Store资源商店中下载,现在就添加到您的项目中。

    从第一人称射击游戏到第三人称动作冒险,您可以用Cinemachine彻底改变游戏内摄像机。很容易地:

    • 像电影导演那样,使用高级摄像机工具及真实的摄像机设置,来控制视频序列。
    • 合成镜头,把重点放在艺术方向上,而非实现细节。给Cinemachine智能摄像机一个简单的指示,比如跟随人物的头部,如果动画发生变化,镜头会自动更新并继续正常工作。
      这里写图片描述

      在Unity 2017.1中,我们为Cinemachine增加了很多新功能,比如:

    • 多个目标对象:以多个对象为目标,并设置它们的权重。它基于任意数量的对象创建一个逻辑组,根据其成员的位置来定位自己。在跟踪一组对象时,可以将其用作LookAt和Follow方法的目标。对2D场景也非常适用。
    • 动态取景多个对象:该功能将基于对象的位置自动取景一组目标。如果对象散开,Cinemachine将根据您创建的一套规则调整FOV或推拉(或两者同时进行)
    • 全新开放API:轻松定制Cinemachine配置,获得项目需要的摄像机行为。
    • 推拉轨道:创造出像电影一样的推拉镜头,让摄像机在游戏世界里平滑移动。适合于电影序列,或当您希望摄像机沿着一组轨道跟踪拍摄对象时。
    • 安全镜头:安全镜头会根据镜头优先级与质量,动态选择最佳的摄像机。有东西进了取景框,破坏了镜头?没问题,Cinemachine会切换到下一个最佳摄像机。尤其适用于回放或任何一个可变场景的电影序列。

    Timeline和Cinemachine结合使用,您可以将叙事带入更高的层次。使用后处理栈来进一步创建特效,烘托场景氛围和戏剧效果。
    这里写图片描述

    改进Post-processing栈(测试)

    Post-processing将全屏滤镜和特效应用于摄像机的图像缓冲区,然后再将其显示在屏幕上。您可以使用图像后处理特效来模拟物理摄像机和电影效果。

    最新版的Post-processing栈测试版可以在此下载。最终版预计将于今年夏季发布。(注意:上一个稳定版本可以在Asset Store资源商店中下载)

    改进后的后处理栈将一组完整的图像效果整合到单个后期处理流程中,并带有一系列高质量的摄像机效果:

    • Screen-space anti-aliasing
    • Auto Exposure
    • Motion Blur
    • Bokeh Depth of Field
    • Bloom
    • Color Grading
    • Chromatic Aberration
    • Film Grain
    • Vignette

    您可以将多个特效组合到单个Pass中,使用基于Asset的预设配置系统管理特效也非常轻松。

    颜色分级效果是一种支持Academy Color Encoding System (ACES)的全HDR颜色管线,低端平台可以使用LDR管线。该栈有两个屏幕空间的光照特效,即环境光遮蔽和屏幕空间反射。

    这个新版本还提供了一个基于体积的混合特性,您可以在场景中定义区域(任何类型的网格),并在玩家进入区域时设置特定的氛围/外观。Unity会自动在体积之间进行混合,以实现流畅的外观转换。
    这里写图片描述

    Unity Collaborate多人协作已正式发布!现为Unity Teams一员

    Unity Collaborate多人协作已结束测试,与Cloud Build云构建一起成为Unity Teams的一部分,仅用一个解决方案一套功能,即可帮助您更快速地进行团队协作。Unity Teams将可免费使用至2017年10月。

    点击了解有关Unity Teams的更多内容。

    对于Collaborate多人协作,我们在Unity 2017.1中发布的首个发布版本优先处理了Beta用户提供的反馈。除了性能改进、稳定性和Bug修复之外,我们还增加了一组新功能:选择性推送、更佳的Asset浏览器集成和一个新的“In Progress”功能,用以标志团队成员在某个场景或预制件上有未发布的本地更改。
    这里写图片描述

    以下是我们为Collaborate多人协作添加的一些新功能:

    • In Progress标志
      为场景和预制件添加了In Progress标志,以指示团队中其他人已对某个场景或预制件做出了一些未发布的本地更改。这个特性有助于协作者协调对场景和预制件的更改。
      这里写图片描述
      这里写图片描述

    • 右键单击选择发布
      我们添加了右键单击操作,现在您可以在项目浏览器中直接发布、恢复、查看差异,解决文件冲突。这是一个主要的用户痛点源头,我们希望使Collaborate的行为与其他项目浏览器的行为更加一致。请注意,这种UX允许您选择性地发布已更改的Asset。之前的版本中,您必须发布所有更改。
      这里写图片描述

    • 浏览体验更佳
      在项目浏览器的“收藏”中添加了新的过滤器,包括“所有修改”、“所有被排除”和“所有冲突”,这样用户就可以看到他们所有修改过的文件、所有正在修改的文件、带有冲突的文件和忽略的文件。特别要留意的是“All in Progress(一切都在进行中)”,这让您可以实时看到Collaborate团队中的其他人正在处理哪些Asset(稍后将详细介绍)。
      这里写图片描述

    • 实时操作分析
      Unity 2017.1可以通过数据驱动的实时操作,随时获得丰富的分析数据。深入了解您的用户与您作品的互动情况,并实时做出相应的调整,迎合他们的习惯,无需重新部署新版本。在Unity 2017中,您可以更好地为用户提供更佳的游戏体验。
      通过Standard Events (目前是Beta版)可以进行更高效的洞察,它提供了一组精心设计的预定义事件,可揭示与您游戏相关的重要信息。使用新的Analytics Event Tracker,无需代码即可实现这些功能。
      这里写图片描述
      使用Remote Settings特性,可以即时更改游戏,无需重新部署,该特性已添加到Unity Analytics分析服务中。
      这里写图片描述

    • 2D改进
      在Unity 5.6中,我们为2D游戏开发者对工具和工作流程进行了重大改进。Unity 2017.1中引入了2D Sprite Atlas,这是一种新的Asset,将取代Sprite Packer。随着它的出现,新改进的工作流程可以在运行时更好地控制精灵的打包和使用。图集是Unity中2D工作流程的重要组成部分,而精灵图集不仅提供了更简单的图集创建和管理方式,还有相应的脚本API,可获得更多的控制和用途。
      这里写图片描述
      Sprite Masks用于在世界空间中隐藏或显示精灵或精灵组的一部分。精灵遮罩仅对拥有Sprite Renderer组件或粒子系统的对象生效。
      这里写图片描述
      在Unity 2017.1中,我们还为精灵编辑器添加了精灵物理形状。可以为精灵设置自定义的默认形状,以使用PolygonCollider2D生成碰撞器形状。

    • 动画改进
      我们对Animation窗口进行了全面修改,改进了关键帧的工作流程,使动画制作更方便和熟练,并支持与Animator状态机进行交互。Performance Recording是一个实验性功能。
      新的关键帧工作流程支持明确指定何时将哪帧变为关键帧,并在重新评估/预览动画时,将所有未修改且未关键帧化的属性值都丢弃。我们已经改变了在Animation窗口中编辑剪辑的默认行为(新的默认预览模式)、视觉反馈和全局关键帧操作热键。这些变化的目的是在Animation窗口之外为关键帧操作提供一个流畅的工作流程,同时预览动画剪辑无需处于自动关键帧或录制模式下。
      现在在编辑器中可以对状态机行为进行调试。
      我们还引入了GameObjectRecorder,这是一个新的实验性编辑器特性,它允许您记录GameObject和它子对象上的任何属性。这样就可以轻松地创建动画,将被记录的所有内容保存到一个动画剪辑中。欢迎访问论坛进行反馈。
      这里写图片描述

    • Playables已正式发布
      Playables API通过使用树状结构的PlayableGraph组织和评估数据来源,提供一种创建工具、特效或其他游戏机制的方法。PlayableGraph允许您混合和修改多个数据源,合成为单一输出后播放。
      Playables API支持动画、音频和脚本。Playables API还提供了通过脚本来与动画系统和音频系统进行交互的能力。
      Playable API是一个通用API,它最终将用于视频和其他系统。查看文档了解更多细节。

    • Ambisonic音频
      在Unity 2017.1中,我们增加了对环绕立体声音频剪辑的支持,这是全方位环绕音频技术,它(除了水平面外)还覆盖了听众上方和下方的声源。
      Ambisonics以多声道格式储存。它不是将每个通道都映射到一个特定的扬声器,而是以一种更通用的方式来表示声场。然后,根据聆听者的方向(即XR中用户的头部旋转),旋转声场。声场也可以被解码成一种与扬声器设置相匹配的格式。Ambisonics通常与360度视频结合使用,也可以用作音频天空盒,表现遥远的环境声音。
      我们还添加了Ambisonic解码器插件,而且现在也可以使用正开发中的API,在新的叙事工具Timeline中使用音频剪辑了。

    • 编辑器改进
      我们在UnityEditor.IMGUI.Controls中添加了一个新的ArcHandle类,它可以在场景视图中交互式地编辑弧线。还加入了名为SearchField的新IMGUI控件,它带有普通和工具栏用户界面风格,但也可以自行定制。
      这里写图片描述
      现在还支持使用JetBrains Rider作为外部脚本编辑器。
      其他改进还包括对所有播放器循环阶段添加分析器标签,改进Package Export加载状态,以及记录已连接玩家的日志信息,这些都将出现在编辑器控制台中,使调试更加轻松。

    • 改进了对Visual Studio的支持,包括Mac OS
      Unity安装程序现在可以选择在Windows上安装Visual Studio Community 2017(而非Visual Studio Community 2015)。安装速度显著提高也更轻量。
      Mac用户也别难过,现在可以使用Visual Studio了!微软发布了Mac版的Visual Studio和Tools for Unity。Visual Studio for Mac还提供了许多很酷的功能:一键调试,Unity消息的IntelliSense(完整Unity特定库代码),着色器代码高亮显示等等(点此查看详情)。

    • 场景与Asset Bundle改进
      我们对游戏中的场景和Asset Bundle进行了一些改进。更改底层架构使场景和Asset Bundle加载速度更快,从而使玩家体验更加流畅。我们还创建了一个工具,Asset Bundle浏览器——以帮助创建和优化Asset Bundle。

    • Asset Bundle浏览器
      Asset Bundle浏览器的Beta版与Unity 2017.1一同发布。该工具允许您在Unity项目中查看和编辑Asset Bundle的配置。它的目的是替换当前选择Asset的工作流,并在检视窗口中手动设置Asset Bundle的工作流程。现在您可以集中查看所有的Asset Bundle配置。通过使用上下文菜单和拖放功能,配置、修改和分析相关资源包。
      该工具将标记可能值得关注的警告,并提示将中断资源包创建的错误。从上层查看包集合,您可以更有效地组织Asset Bundle。在更低层查看单个Asset Bundle,您可以看到由于显式包含或依赖项的关系,哪些内容将会放入包中。
      更多细节请查阅文档
      这里写图片描述
      Asset Bundle浏览器可以从Asset Store资源商店下载。

    • 脚本运行时升级(实验性):畅享 C# 6和.NET 4.6
      在Unity 2017.1中,我们引入了实验性版本的脚本运行时内核,该内核已升级到Mono/.NET 4.6运行时。它包含了许多修复、性能改进,可以使用C# 6。我们相信它会提高游戏的整体性能。
      可以在Player Settings中启用.NET 4.6:
      这里写图片描述
      注意,更改该设置会在重启编辑器后生效,因为它会影响编辑器和播放器。对应的脚本API是PlayerSettings.scriptingRuntimeVersion属性。
      IL2CPP完全支持新的.NET 4.6 API,因此您仍可使用C#编写脚本,同时享有原生C++的性能优势。如果您发现任何问题,请访问论坛进行反馈。

    • 模型导入器改进
      从像Maya这样流行的数字内容创作(DCC)工具导入Asset的过程是首批重要的改进对象,这使得DCC工作流程变得更加轻松。最终提高了艺术家和设计师的生产力,减少了程序员的麻烦。
      现在Unity导入从Maya导出的FBX文件已支持Segment Scale Compensation,而且FBX SDK已升级至2016.1.2。
      在导入FBX文件时,我们还添加了计算加权法线的选项,如按面积、角度或二者皆有,以及硬边缘的固定法线生成。现在,可以从FBX文件中导入灯光和摄像机,Unity会自动在需要时为对象添加和配置摄像机和/或灯光组件。
      Unity现在可以使用“Import Visibility”属性从FBX文件中读取可见性属性。值和动画曲线将启用或禁用MeshRenderer组件:
      这里写图片描述

    • Progressive Lightmapper改进
      Unity 2017.1增加了Progressive Lightmapper中对烘焙LOD的支持。在烘焙LOD时,Enlighten和Progressive Lightmapper之间的主要区别在于,使用Progressive Lightmapper不必在LOD周围放置光照探针来获得反射光。在完全烘焙分辨率下,间接光照将为LOD提供更优质的烘焙光照贴图,您也可以避免为它们设置光照探针的繁琐过程。(Unity 5.6中也有此功能。)
      我们还在Progressive Lightmapper中增加了对双面材质的支持,通过添加新的材质设置,使光线与背面接触。启用后,在进行全局光照计算时几何体的两面都被包括在内。当从其他对象观察时,背面不会被认定为无效。背面渲染既不受该设置的控制,也不会在光照贴图中显示。背面使用与正面相同的自发光和漫反射设置反射光线。(该功能也可在Unity 5.6中使用)
      这里写图片描述

    • 实时阴影改进
      我们优化了在稳定模式下,级联定向光源阴影投射器的选择。这意味着生成阴影贴图时会产生更少的Draw Call。这增益是与场景和配置相关的。例如,在四个级联光的情况下,可以看到Draw Call数量显著下降。根据太阳/摄像机的方向,场景中可以减少50%的阴影投射器。下面是维京村庄的一个例子:
      下面的场景在Unity 5.6中有5718个阴影投射器。
      这里写图片描述
      在Unity 2017.1中,相同的场景,只有4807个阴影投射器。
      这里写图片描述
      Unity 2017.1还实现了实时阴影的Percentage Closer Filtering (PCF)。每个像素的深度值都是从当前像素周围的阴影贴图中取样,并所有的采样值进行比较。这使得光和影之间的线条更加平滑。您可以在下图中看到对比:
      这里写图片描述
      除了实时阴影改进,Shadowmask和Distance Shadowmask光照模式现在已成为Quality Setting中的参数,可以在运行时进行修改而无需任何成本。例如,可以在室内使用Shadowmask (实现柔和的阴影),并在相同关卡中的户外场景切换至distance Shadowmask。它也可以作为一个质量设置项。
      我们还添加了Custom Render纹理作为渲染纹理的扩展,可以很方便地用着色器来更新纹理。这有助于实现各种复杂的模拟,比如焦散光、雨滴涟漪模拟,墙面液体喷溅等等。它还提供了一个脚本和着色器框架,以便进行更复杂的配置,比如局部或多阶段更新,不同的更新频率等等。
      这里写图片描述
      有了新添加的LineUtility类和LineRenderer.Simplify函数,现在可以优化线条,用LineUtility创建由简单形状组成的简化版本。
      使用Metal/OpenGL ES3实现iOS上的Deferred Rendering
      我们为A8芯片和以后的iOS设备启用了一个使用Metal和OpenGL ES 3.0的延迟渲染路径。当使用延迟着色时,能够影响GameObject的灯光数量是没有限制的。所有的灯光都是按像素计算的,这意味着它们都能与法线贴图进行正确的交互等等。此外,所有的灯光都可以有剪影和阴影。

    • 粒子系统改进
      我们引入了精灵集成,粒子碰撞力(可以推动碰撞器),大量形状方面的改进,包括一个新的形状类型,噪音模块增加了新选项,以及其他一些较小的特性和增强。因为增加了新的控制和约束,例如速度与对齐,使得在2D中使用粒子更加轻松。可以使用粒子来获得比以往更多的特效和动画效果,包括光线的线条和尾迹。
      通过Texture Sheet Animation模块,我们在粒子系统中增加了对精灵使用的支持。这使粒子系统能更好地进行了图集处理和批处理,同时也在粒子系统中增加了大量与精灵相关的特性,例如不同大小的动画帧,以及每帧的轴心点。
      这里写图片描述
      这里写图片描述
      噪音模块提供了新的选项,可以更好地将噪音应用于粒子效果中。这个功能在Unity 5.5中第一次实现,噪音是被应用到粒子的位置属性。在2017.1中,我们可以将噪音应用到更多的地方:
      -位置
      -旋转
      -大小
      -使用Custom Vertex Streams的着色器(非常适合制作UV失真效果!)
      这里写图片描述
      在粒子系统形状模块的碰撞模式中,我们引入了一个新的甜甜圈粒子发射形状和编辑模式。模块内的Transform可以为粒子发射的形状应用自定义位置、旋转和缩放。
      其他的改进还包括将粒子与速度方向对齐的能力,以及允许在局部空间系统使用Emit over Distance。边缘粒子发射现在更加灵活,可以选择用来产生粒子的边缘厚度。
      粒子现在也可以使用碰撞模块对碰撞器进行施力。
      这里写图片描述

    • Windows Store现在改名为Universal Windows Platform
      Unity现在支持Windows商店的Universal Windows Platform(UWP)应用模式,支持为Xbox One、Windows 10、Windows Phone 10和HoloLens进行构建。
      请注意,对Windows混合现实PC设备的支持将在今年晚些时候发布。
      这里写图片描述
      我们增加了对UWP的多显示支持,现在Unity播放器二进制文件已做数字签名,增加了额外的一层安全性,可以防止对Unity运行时二进制文件进行篡改。
      最后,我们取消了对Windows 8.1和Windows Phone 8.1应用的支持,Unity 5.6是最后一个支持这两个平台的版本。

    • 索尼PS4的视频播放器
      我们在Unity 5.6中引入了一个全新的视频播放器,在Unity 2017.1中正式加入了对索尼PS4的支持,从而完成了对跨平台的支持。PS4的视频播放器使用索尼的AvPlayer库来加速h.264流的解码。解码h.264流(PS4的推荐格式)时,CPU开销非常低。可以同时对最多8个并发h.264流进行解码。它还支持对webm容器中的VP8格式流进行软件解码(更高的CPU开销)。最后,它支持多种视频渲染模式(直接渲染到摄像机的近/远平面,作为材质覆盖,或渲染纹理),音频流可以直接输出或发送到音频源进行混合。

    • 底层原生插件渲染扩展
      我们已经扩展了底层渲染插件API,并提供了一些很酷的新特性:
      -现在可以将用户数据发送到回调函数。
      -我们已经扩展了插件将接收回调的可能事件列表。
      -我们在着色器编译器进程中添加了钩子,可以在发送到编译器之前对着色器打补丁。支持创建自定义关键字所控制的自定义变体。
      -要想了解这些扩展的威力,请查看NVIDIA的VRWorks包,它是实现这一切的基石。

    • VR: NVIDIA VRWorks
      现在,在Unity 2017.1中,NVIDIA VRWorks通过以下特性,为虚拟现实提供了一种全新高度的视觉保真度、性能和响应能力:
      -Multi-Res Shading是一种用于VR的创新性渲染技术,它可以使图像的每一部分都能渲染在一个与镜头矫正图像像素密度相匹配的分辨率上。
      -Lens Matched Shading使用NVIDIA基于Pascal的GPU的新Simultaneous Multi-Projection架构,为像素着色提供潜在的性能改进。
      -Single Pass Stereo使用NVIDIA基于Pascal的GPU的新Simultaneous Multi-Projection架构,仅对几何体进行一次绘制,即可在双眼视图同时投射相同几何体。
      -VR SLI为虚拟现实应用程序提供更高的性能,其中两个GPU可以被指派给特定眼睛,极大地加速立体渲染。
      这里写图片描述
      为了更好地利用这些改进,应该在PC上使用GeForce 9系列或更高的GPU来进行回放。可以访问Asset Store资源商店下载NVIDIA VRWorks for Unity

    • 发布说明
      与往常一样,请查阅发布说明,以了解新特性、改进和修复的完整列表。

    以上内容来源Unity官方中文社区,原帖地址:http://forum.china.unity3d.com/thread-25171-1-1.html
    本文仅做转载和整理。

    by:蒋志杰

    展开全文
  • Unity3D的安装

    2019-07-08 16:58:50
    Unity3D是一款游戏开发软件,如何去获取它呢? 1 进入Unity3D官网 这个过程会比较慢,耐心等待 2 点击Get start 进行获取 3 选择个人版(免费) 这时会获取Unity Hub Unity Hub桌面端应用程序旨在简化你打开Unity...
  • Unity3D】自学之路2.0

    2020-04-07 08:40:42
    一、前言 原文主要讲的是如何从零基础入门,然后一步一步进阶的文章,包括很多学习资料,学习的网址,研究方向等,内容还是比较全面的。大家多多支持一些克森大神,关注一下他的公众号。这篇文章就将原文的内容...
  • 我最近一直在玩新的Unity3D机器学习系统,取得了一点进展。我想分享我发现的步骤,以获得一个新创建的Agent设置,并经过训练完成一项基本任务。 在这篇文章中,您将看到如何设置基本Agent,目的是使用增强机器学习来...
  • 过了2个星期,又来继续说着色器了。这两个星期发生的事情有点...不管你会不会写Unity3D的shader,估计你会知道,Unity3D编写shader有三种方式,这篇东西主要就是说一下这三种东西有什么区别,和大概是怎样用的
  • unity3D用什么语言开发好? 一、总结 一句话总结:选c# 同时U3D团队也会把支持的重心转移到C#,也就是说文档和示例以及社区支持的重心都在C#,C#的文档会是最完善的,C#的代码实例会是最详细的,社区内用C#讨论的...
  • 本日志,随时更新 今天学了最基础的打印“hello world” 首先,创建C#脚本(Assets-create-C# Script) 可重命名自己需要的名字,双击打开,会弹出u3d默认编辑器 打开后的界面 ...
  • Unity3d 调用IOS相册

    2019-03-04 09:19:39
    Unity3d 调用IOS相册Unity3d 调用IOS相册软件环境.h/ .m文件编写unity3d 调用脚本合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定...
  • 麦子U3D视频教程 初级中级高级资深四个等级 讲解简单明了
  • unity3D是如今绝大多数游戏开发团队的首 选3D引擎,并且它在2D上的表现也及为优秀。它可以轻松解决很多其它引擎不能解决的问题,此外还有很多出众的地方,这都是现在越来越多的人选择unity3d游戏开发的原因,下面就...
  • Unity3D 2018 3.0新手入门

    2020-02-01 15:58:47
    学习目的: 掌握Unity3D 常用的软件操作和一些基础脚本的使用 文章目录Unity3D新手入门1.1.1 Unity3D 介绍1.2 Unity3D 下载与安装2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20. 1. 1.1 Unity3D 介绍 Unity3D...
  • 本文由D5Power首发于天地会,转载请标明原作者和出处。 周末听Sliz说Unity正式支持导出Flash了,作为一款成熟的游戏引擎,相信...对于Unity3D我也是刚刚研究,文中如有纰漏之处,望各位海涵。同时欢迎各位弟兄指正!
  • 大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei...那么,作为这个月的最后一篇文章,今天博主想和大家分享的是关于Unity3D中的Mecanim动画系统。博主很早就想写这篇文章了,可是由
  • unity3d游戏开发是一个进程,为了引发玩家玩游戏热忱,经由进程遵守计划制作规矩,来计划人物、场景等游戏因素。紧张流程包含原画创作、建模、材质、灯光及衬着、骨骼设定、动画、殊效等部门。近年来,unity3d培训...
  • Unity 3D主要特性  层级式的综合开发环境,可视化编辑,详细的属性编辑器和动态的游戏预览。Unity也被用来快速的制作游戏或者开发游戏原型  可开发微软Microsoft Windows和Mac OS X 的可执行文件,在线内容...
1 2 3 4 5 ... 20
收藏数 3,501
精华内容 1,400
关键字:

unity3d软件编写