Giter VIP home page Giter VIP logo

u3dtutorial-'s Introduction

Unity3D 商业化的网络游戏架构笔记

再次感谢大佬的视频!

感谢b站大佬提供的U3D视频教学,本笔记里做了思维导图,笔记整理和代码注释,希望对各位有帮助!一起努力变成优秀的游戏主程!奥利给!

b站地址:https://www.bilibili.com/video/BV1C7411i7Rg?p=6

目录

P5-登录界面UI制作

1. 建立场景Login
 放入文件夹Scenes,为了规范保存。
2. 设置InputField(inputAccount, inputPassword) 和 登录确认 (BtnLogin)
 调整分辨率在Canvas - Canvas Scaler - Scale With Screen Size (1920 * 1080)
 创建空物体包装以上三个物体,命名为【Login】
 创建一个UI预制体文件夹,并把Login拖入UI中变成预制体
3. 创建Scripts文件夹,用于存放代码
 创建UI文件夹-Setup文件夹, 用于存放登录时候的代码
 *此处Setup表示的就是游戏框架:UI下的登录步骤*
 *Scripts - UI - Setup*
4. 创建Login脚本
 挂在Login预制体上,并apply修改
 并在unity引擎中保存项目
5. 创建背景
 Login下面添加Image组件,调色并命名为bg
 点击Apply到Login预制体,并保存项目
6. 建立数据
 创建一个类【UserData】,并在其中建立SelectRoleInfo类用于存储用户数据:1. 角色名称 2. 模型资源路径
7. 创建新场景-SelectRole并对其做一个选人界面的UI
 在Login场景中,将EventSystem和Canvas放入空物体并命名为UISystem
 把UISystem放入Assets-UI文件夹中,变成预制体,坐标rest成0
 把Login拉入UISystem-Canvas下,坐标reset成0
8. 制作SelectRole场景
 将UISystem预制体拖拽到SelectRole的Hierarchy中
 创建一个空物体,命名【SelectRole】
 再SelectRole中创建ScrollView组件改名为【RoleList】,用来显示角色列表,删除横向和纵向的Scrollbra
 在Canvas下继续创建一个Btn组件【BtnEnter】和创建背景图【bg】
 最后把bg, RoleList和BtnEnter拉到SelectRole中。再将SelectRole拉到Assets-UI文件下变成预制体
9. 调整RoleList下ViewPort-Content大小
 拉到和viewport一样高
 在RoleList- ViewPort- Content 下创建Toggle组件,删除Background中的checkMark
 给Content添加Toggle Group脚本
 将Toggle改名为【RoleItem】并拉到Assets-UI下变成预制体
 【整理一下UI文件夹下的子文件夹】
 【SelectRole】:RoleItem,SelectRole
 【Login】:Login
 因为后期需要动态生成角色,所以场景中不需要添加RoleItem,可以直接将RoleItem删除

P6-选人界面制作 + 单例模式 + 扩展类的成员函数

1. 创建SelectRole脚本
  挂在UISystem下的SelectRole下
2. SelecrRole脚本
  找到rolelist节点
  通过加载resources目录下的组件,遍历userdata的list动态生成角色
      把UI文件夹放入resources文件夹下
3. 为角色排版
  在Content内添加Grid Layout Group,修改cell size  198 * 68, spacing 6.7
4. 单例模式
  建立Common文件夹,添加一个单例脚本
5. 扩展类的成员函数
  建立Extern文件夹,添加一个扩展类脚本

P7- 游戏启动流程SetUp

//*游戏启动前:启动,闪屏(logo), 检查更新, 更新(重启),公告,登录 ,
//所以p7中制作的是setup界面:闪屏(logo), 检查更新, 更新(重启),公告
1. 创建SetUp Scene
 删除Hierarchy中所有的东西
 创建一个空物体,命名为【SetUp】
2. 创建新脚本SetUp.cs
 把SetUp脚本挂上SetUp物件上
 让游戏启动流程的逻辑通过一个脚本挂在一个物件上完成
3. 创建一个Logic模块-放游戏主逻辑
 为Logic模块添加新的类GameMgr.cs
4. 打开SelectRole场景
 【老师思路:把模型塞到一个场景里在找个模型照,然后让SelectRole中的摄像机和模型场景中的摄像机叠加】
 先把背景删除
 创建一个空物件,命名【ModelStudio】,用来放置模型
 在模型里面,创建一个摄像机,用来照射模型
 复制Prefab中模型路径,更新UserData的代码
 调整摄像机和模型的照射关系,创建一个空物件,命名【ModelPlace】
5. 将模型拖入ModelPlace层级下(Rotation-y轴180度可以改变模型的正反面)
 在ModelStudio下创建一个sprite和一个Directional Light(放在ModelStudio外部)
 调整sprite大小,命名【bg】并放在ModelPlace-Camera层级下
 删除ModelPlace,因为后期会动态加载出
 把ModelStudio拖入Resources-UI-SelectRole,变成一个预设体
 删除ModelStudio,后期动态加载
6. 更新 SelectRole代码
 创建 处理模型摄影部分
 创建 扩展函数
7. 给模型加个旋转
 在SelectRole下创建一个Image组件,来检测滑动,命名【TouchRotate】
 创建一个TouchRotate脚本挂给TouchRotate物件

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.