【Unity3D实战】RPG黑暗之光1:创建开始场景


1、导入资地形、地貌资源,新建场景,导入地形、地貌prefab,设置相机位置,添加全局灯光。

2、设置鼠标指针图片:
Edit-->Project Setting-->Player-->Default Cursor(设置自己的鼠标图片)

3、给场景添加水面和天空盒子skybox:
添加水面:Import Package-->Water(Basic)-->Daylight Simple Water(拖入场景中,调整transform到适合的水平面)
添加天空盒子:
Main Camera-->Clear Flags(Skybox)-->Add Component(Skybox)
Import Package-->Skyboxes-->任选一个Sunny天空拖到Component的Skybox下

4、实现镜头缓慢拉近的效果:
public float speed = 10;
private float endZ = -20;
void Update () 
{
    if (transform.position.z < endZ) //还没有达到目标位置,需要移动
{
        transform.Translate( Vector3.forward*speed*Time.deltaTime);
    }
}

5、给场景添加雾:
Edit-->Render Setting(设置Fog Density)

6、使用NGUI和白色背景给场景添加渐显效果:
导入NGUI插件资源和设计好的UI素材资源。
NGUI-->Open-->Prefab Toolbar拖到project视图旁,方便编辑。
拖一个BackGround到场景中去。
删掉原有的UI背景:把UI Root下的Control - Background删掉。
添加一个白色UI背景:RPG\GUI\Title\whitescreen。点选上UI Root,W键模式,右键Create一个Simple Texture,Aspect(Based On Width),Size(2000/Snap),修改名字为WhiteScreen。
添加Tween动画:选上WhiteScreen,右键Tween一个Alpha,参数From 1 To 0,Duration为2,Start Delay为1。

7、设计开始的界面,开始加载按钮和logo:
新建Atlas图集:NGUI-->Open-->Atlas Maker,名字为RPG Atlas。
添加Logo:UI Root右键Create一个Sprite,设置属性选择图集和Logo,Snap,调整位置。Color Tint Alpha值调为0。修改名字为Title。
添加Tween动画:选上Title,右键Tween一个Alpha,参数From 0 To 1,Duration为1,Start Delay为2(白色背景显示完之后)。
添加PressAnyKeyToStart:复制一份Title,Color Tint Alpha值还原为255。修改Sprite属性选择图片PressAny……。Aspect(Based On Width),Size(300/Snap),修改名字为PressAnyKeyToStart。Color Tint Alpha值修改为0。Tweener Play Style设置为Ping Pong
按下任意键之后,就切换到New Game或者Load Game的加载界面:
添加ButtonContainer:UI Root-->右键Create一个Invisible Widget,改名为ButtonContainer。右键Create-->Sprite-->Child,改名为ButtonNewGame。右键Attach-->Box Collider,右键Attach-->Button Script。设置Sprites的Hover为ButtonNewGame,Pressed为ButtonNewGameDown。Color全部设置为白色。同理添加LoadGameButton,不赘述。把ButtonContainer设置为默认隐藏,因为只有点击了AnyKey之后,才会显示这个界面。

8、处理任何按键按下的事件:
在PressAnyKeyToStart上添加一个脚本PressAnyKey.cs:
private bool isAnyKeyDown = false;//表示是否有任何按键按下
private GameObject buttonContainer;
void Start() {
    buttonContainer = this.transform.parent.Find("buttonContainer").gameObject;
}
void Update () {
    if (isAnyKeyDown == false) {
        if (Input.anyKey) {
            ShowButton();
        }
    }
}
void ShowButton() {
    buttonContainer.SetActive(true);//显示buttonContainer的两个button
    this.gameObject.SetActive(false);//隐藏PressAnyKeyToStart
    isAnyKeyDown = true;
}

9、处理开始游戏和加载游戏按钮的按下:
在buttonContainer上添加一个脚本ButtonContainer.cs:
//开始新游戏
public void OnNewGame() {
    PlayerPrefs.SetInt("DataFromSave", 0); //DataFromSave值为0表示数据来自新建角色
    // 加载我们的选择角色的场景 2
    Application.LoadLevel(1);
}
//加载已经保存的游戏
public void OnLoadGame() {
    PlayerPrefs.SetInt("DataFromSave", 1); //DataFromSave值为1表示数据来自保存
    //加载我们的play场景3
}
添加按钮处理:
ButtonNewGame-->On Click-->Notify(拖入buttonContainer)-->Method(ButtonContainer/OnNewGame)
ButtonLoadGame-->On Click-->Notify(拖入buttonContainer)-->Method(ButtonContainer/OnLoadGame)

10、给开始场景添加背景声音和按钮点击的声音:
导入声音资源。
背景音乐:Main Camera-->添加Audio Source-->RPG\Sounds\BGM-Ingame拖入到Audio Clip。勾选Loop循环播放,调节Volume音量
按钮点击声音:ButtonNewGame或ButtonLoadGame-->添加Play Sound-->RPG\Sounds\button拖入到Audio Clip即可。

【Unity3D实战】RPG黑暗之光Scene1:创建开始场景相关推荐

  1. 【Unity3D实战】RPG黑暗之光:游戏分解及各系统的实现

    [Unity3D实战]RPG黑暗之光:游戏分解及各系统的实现 一.任务系统: 1.添加接任务的老爷爷: Model中选择并添加老爷爷,调整方向,并添加一个Box collider组件. 2.设计任务U ...

  2. Unity3D实战【三】PolyBrush 发挥创意构建场景

    一.Pack Manager中安装Poly Brush,并在它的页面中点开Samples,根据渲染管线导入对应Shader 创建一个文件夹用于存放插件Plugins(这里我们是导入第二个,导入的文件放 ...

  3. java游戏怎么导入jme3,LuoYing RPG教程-JME3游戏创建、场景编辑、载入完整示例教程...

    简介 这篇文章主要介绍: 如何创建一个3D游戏项目: 如何整合LuoYing RPG游戏框架到JMonkeyEngine游戏中: 如何使用落樱编辑器创建一个3D游戏场景,并将游戏场景载入到JME3游戏 ...

  4. 视频教程-Unity3D实战入门之第三人称射击游戏(TPS)-Unity3D

    Unity3D实战入门之第三人称射击游戏(TPS) 6年程序开发经验,精通C/C++/C#编程. 曾担任过Unity3d游戏开发主程和Unity3d游戏开发讲师,熟悉Unity3d的UI系统.物理引擎 ...

  5. Unity3D实战入门之第三人称射击游戏(TPS)-伍晓波-专题视频课程

    Unity3D实战入门之第三人称射击游戏(TPS)-327人已学习 课程介绍         这是一套第三人称射击游戏开发的入门基础课程. 本课程以一款小型的第三人称射击游戏为案例,手把手教你如何搭建 ...

  6. 《Unity3d实战就业路线》

    唐老狮<Unity3d实战就业路线>课程 市场上缺少专门围绕核心路线设计的成体系的unity课程.本套餐完整统一的unity3d学习路线,统一的老师与内容设计.内容难度层层推进,核心能力养 ...

  7. threejs 绘制球体_实战:用 threejs 创建一个地球

    原标题:实战:用 threejs 创建一个地球 提示: 讲座 前端大型免费公开课讲座 教程 从零基础学前端教程,都在这~ 上个月底,在朋友圈看到一个号称"这可能是地球上最美的h5" ...

  8. 【RPG黑暗之光】第二章· 角色创建

    RPG黑暗之光Part2:角色创建 1.Part1创建完成继续进行角色创建过程中出现一点问题,在角色导入的时候贴图丢失了.这直接导致强迫症的我跑去学习了3dmax的相关知识,结果一波三折最终还是用下面 ...

  9. 【Unity3D实战】方块跑酷初级开发实战(一)

    [Unity3D实战]方块跑酷初级开发实战(一) 欢迎大家来到LDS的博客,今天开始我们讲解一下跑酷类游戏的基本操作,本文为原创,视频请观看[ http://www.mkcode.net/html/u ...

最新文章

  1. AutoX“真无人”车队驶上繁忙街头,中国正式进无人驾驶时代
  2. C# DataTable的Select()方法不支持 != 判断
  3. 剑桥MPhil Industrial Systems, Manufacture and Management录取率
  4. DISCUZ 品牌空间恼人的游客评论名称Guest修改记录
  5. 上周热点回顾(7.8-7.14)
  6. C++主流预处理,编译和链接过程
  7. Android 建立Menu选单onOptionsItemSelected (转)
  8. java switch的应用
  9. 一个把ijkplayer封装的很好的例子
  10. 阿里云ACE认证学习知识点梳理
  11. 用Python批量修改文件名称
  12. 微博 用户画像_微博的用户画像是怎样构建的
  13. 一个页面播放多个视频
  14. 7款非常棒的flash游戏菜单启动界面
  15. win7系统服务器文档,win7系统服务器
  16. 网络画板的文本编辑器也是markdown编辑器吗?
  17. 计算机主机的跳线怎么接,手把手教你台式机电脑主板跳线接法
  18. 2021-2022下沉市场研究报告合集(共46份)
  19. r语言 相关性作图_R语言:多个基因的相关性分析与展示
  20. 人工智能时代教育现代化发展的突破与引领

热门文章

  1. 2021年危险化学品经营单位主要负责人考试及危险化学品经营单位主要负责人复审模拟考试
  2. EasyRecovery五个步骤搞定数据恢复
  3. 计算机软件的版本分类
  4. 2021-02-24 Multisim 14.0 场效应管单按键开关电路
  5. 纯HTML+CSS 画奥运五环标志,我就是闲的
  6. b2b电子商务研究报告
  7. 心理学实验程序编程(python)
  8. 旋转平移变换矩阵是先旋转还是先平移?
  9. 3D点云变换(平移、旋转、缩放)C++实现
  10. OK6410之uboot移植(4)——uboot启动代码植及支持nand flansh启动