2018-10-23 10:21:10 tianxiaojie_blog 阅读数 1942
  • unity3D 六周带你开发《王者荣耀》

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    3001 人正在学习 去看看 朱润

unity 加载场景的方式分为 直接加载和动态加载

 SceneManager.LoadScene(PCLevelName);//直接加载,销毁掉原来的场景
 SceneManager.LoadSceneAsync(PCLevelName);//异步加载,加载完成后销毁原来的场景
 SceneManager.LoadScene(PCLevelName, LoadSceneMode.Additive);//直接加载,把加载的场景叠加到原场景上
 SceneManager.LoadSceneAsync(PCLevelName,LoadSceneMode.Additive); //异步加载,,把加载的场景叠加到原场景上

unity arkit 如何加载场景之后变成一个包裹的场景

//需要在arkit场景中的主摄像机下添加一个普通摄像机
SceneManager.LoadSceneAsync(ARLevelName, LoadSceneMode.Additive);//加载包裹场景的
GameObject ARCamera = GameObject.Find("ARCamera");//找到添加的普通摄像机
//屏蔽原摄像机启用添加的摄像机
ARCamera.GetComponent<AudioListener>().enabled = true;
ARCamera.GetComponent<Camera>().enabled = true;
Camera.main.GetComponent<AudioListener>().enabled = false;
Camera.main.GetComponent<Camera>().enabled = false;
2015-03-10 10:02:51 book_longssl 阅读数 1318
  • unity3D 六周带你开发《王者荣耀》

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    3001 人正在学习 去看看 朱润

    


总的来看,Unity的使用场景主要有以下几个:

  • 建立类型映射
  • 用于单例模式
  • 用于依赖注入

接下来,将逐一介绍各使用场景。


       在创建对象时,毫无疑问,类型映射是我们无法回避的一个问题,同时也是一系列工厂模式的根本出发点。类型映射,为面向对象设计的根本原则——“针对接口编程,而不是针对实现编程”、“要依赖抽象,不要依赖具体类”——在应用中的实现,提供了有力的支持。

我们知道,Unity提供了对象的容器,那么这个容器是如何进行索引的呢?也就是说,容器内的单元是如何标识的呢?在Unity中,标识主要有两种方式,一种是直接使用接口(或者基类)作为标识键,另一种是使用接口(或者基类)与名称的组合作为标识键。键对应的值就是具体类。


  • 用接口类型作为标识键

      实际上,之前给出的例子,就是接口类型作为标识键的一个使用场景,这里就不再重复。

      这里需要指出的是,Unity提供的功能都有泛型和非泛型两个版本,这样可以确保 Unity 在不支持泛型的环境中使用。我们在代码中可以使用任意一种方法(泛型和非泛型),或者根据需要混合使用。例如,可以使用泛型形式来注册映射,然后使用非泛型形式去获取对象实例。

下面的代码演示了非泛型形式的使用:



ps:接下来的例子以及后续文章中的例子将不再演示非泛型形式的使用。

  • 用基类作为标识键

用基类作为标识键,在本质上与用接口类型作为标识键是一样的。这里需要注意的是,基类并不一定是指抽象类。下面是使用基类作为标识键的例子:




有趣的是,这里如果直接container.RegisterType();的话,是可以Resolve出来的,但是如果我们container.RegisterType();的话,运行时就会报异常了。

 

  • 用接口(或基类)与名称的组合作为标识键

如果需要使用同样的接口(或基类)注册多个映射,可以指定名称来区分每个映射。在需要Resolve的时候,通过指定接口(或基类)与名称的组合作为标识键,就可以获取恰当类型的对象。下面的例子以接口与名称的组合为例,基类与名称的组合作为标识键同理,不再赘述(有关Ilogger等代码:



这里需要指出的是,注册名称是一个字符串,如果需要,可以包含空格。它们是大小写敏感的。例如,名称“Mymapping”和“MyMapping”将指的是二个不同的注册映射。


2013-01-23 10:43:56 linken2 阅读数 2437
  • unity3D 六周带你开发《王者荣耀》

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    3001 人正在学习 去看看 朱润
加载场景时的脚本

public static AsyncOperation async;
async = Application.LoadLevelAsync("SelectCarModelScreen");

在加载场景里写
 if (MainInterfaceGUIScript.async.isDone == false)
        {
           //________没 有加载完要做的事情如Logo__________________________
        }
else
{
         //全部加载完成后显示的东东。。
}

 

 

说明:此方法消耗性能
2017-04-10 20:30:03 Mogoson 阅读数 1769
  • unity3D 六周带你开发《王者荣耀》

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    3001 人正在学习 去看看 朱润

Cubemap Renderer

概述

Unity Cubemap渲染器

问题

  • 有时,发现一些Unity资源包中的场景的环境效果不错,希望将其渲染成Cubemap供天空盒使用。
  • Unity场景中需要制作一些反射效果的材质,例如玻璃,金属等,需要将场景渲染成Cubemap,
    结合反射Shader表现效果。

条件

  • Unity提供ScriptableWizard类快速创建简易扩展编辑器窗口。
  • Unity提供Camera.RenderToCubemap方法渲染Cubemap。

方案

  • 编写扩展编辑器窗口,指定目标渲染摄像机(渲染细节调节摄像机参数即可)。
  • 选择保存路径,输入文件名,渲染场景到Cubemap文件。

实现

  • CubemapRenderer.cs 绘制扩展编辑器窗口,渲染场景到Cubemap中。

源码

2013-05-08 11:50:11 asd237241291 阅读数 26545
  • unity3D 六周带你开发《王者荣耀》

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    3001 人正在学习 去看看 朱润

原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:【119706192本文链接地址: Unity3D_场景の烘培


Unity自带的烘培系统做个傻瓜式流程记录,以备不时之需。

1.制作要烘培的场景

一般需要模型师提供,导入Unity之后需要展UV。


选中要烘培的模型,在Inspector面板勾选“Generate Lightmap UVs”,应用-Apply。读条完成后UV成功展开,模型面数越多展UV时间越长。

本例子试用子自带的基础模型,省略展UV这一步骤。


2.调整灯光、阴影

在场景内设置好灯光位置和光亮,并选择一种阴影模式。


(默认情况下只有平行光才能实时显示阴影,其它类型光照没有实时阴影,但红配出来还是会有阴影。)


点光源、聚光源也想要实时阴影怎么办?首先打开PlayerSettings面板(Edit > Project Settings >  Player)。


将Rendering Path 设置为延迟光照 Deferred Lighting。这是在场景内设置一个点光源看发生了什么?点光源的阴影也被显示出来了


3.烘培

打开烘培面板Lightmapping (Windows > Lightmapping)
Hierarchy面板选中要烘培的模型,全部设置为Static。

或者在Lightmapping 面板设置

之后就是调整参数。可参考Unity圣殿文档:http://game.ceeger.com/Manual/LightmappingInDepth.html

4.完成

完成一上步骤后在Lightmapping 面板点击Bake Scene。
   
双通道后配出后不带影子,灯光需要保留。
单通道烘培后附带影子,可以不保留灯光。单通道烘培省资源。(适当的调节参数效果更好)
我是程序员~!不是美工~!这仅仅是技术测试~!不要在意这些细节~!

Unity3D 场景切换

阅读数 1425

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