为了账号安全,请及时绑定邮箱和手机立即绑定

Unity3D快速入门

HenryLiang 移动开发工程师
难度入门
时长 3小时18分
学习人数
综合评分8.47
121人评价 查看评价
8.8 内容实用
8.1 简洁易懂
8.5 逻辑清晰
  • 一、        Unity如何通过脚本来驱动游戏

    Script (脚本,Unity使用C#和UnityScript写脚本)要想挂在GameObject上就必须继承MonoBehaviour类,在GameObject上挂着的都是Component,所以Script也可以作为一个Component.

    MonoBehaviour类中的函数(方法)的作用有:

    ·         Instantiate()创建GameObject

    ·         通过Awake()和Start()来做初始化

    ·         UpdateLateUpdate,和FixedUpdate来更新逻辑

    ·         用OnGUI绘制UI

    ·         OnCollisonEnter等进行物理运算

    ·         OnPreCall等来控制渲染

    二、        如何更新逻辑

    1.       场景启动时调用所有脚本的Awake()

    2.       把所有的Awake()掉完以后再调用所有脚本的Start()

    3.       在每一帧调用一次Update()

    4.       在所有脚本的Update()调用完后,再调用LateUpdate()

    5.       然后在一帧中调用几次FiexUpdate()

    注:Update()和LateUpdate()是一帧调用一次,FiexUpdate()是与时间相关的

     

    三、        对象销毁

    1.       通过Desotry来销毁一个GameObject

    2.       当GameObject被销毁的时候相应的脚本会调用OnDesotry来进行析构。

    四、        脚本间的通信

    脚本之间也是可以相互通信的,怎么找到其他的脚本?怎么找到其他的GameObject?有两个比较重要的函数

    1.       GetComponment可以找到同一个物体上面挂着的其他的脚本。

    2.       GameObject.Find来找到其他物体。

     


    查看全部
  • 先在Awake中初始化nav=GetComponent<NavMeshAgent>();

    public void MoveTo(Vextor3 position)//运动到哪里去

    {

        nav.SetDestination(positon);//传入的参数为要到达的终点

         nav.Resume();//用来重新启动停止之后想要动的时候的意思吗?

    }

    public void Stop()

    {

          nav.Stop();//停止

    }

    查看全部
  • 建立一个空物体,并添加Spwaner脚本初始化预制体及数量,作为缓存

    判断停止的时候可以调用Spawner.Destroy();

    在武器脚本中实例化缓存物体的时候调用Spawner.Spawn(预制体,spawnPoint);


    判断开火:

    https://img1.sycdn.imooc.com//5b44c70200013be406200237.jpg

    查看全部
  • https://img1.sycdn.imooc.com//5b44bf3d0001462c07580344.jpg

    https://img1.sycdn.imooc.com//5b44bf4c0001d84407620160.jpg

    实现动画运转以及切换条件

    查看全部
  • //更改摄像机的面向,位置不动,盯着角色

    //要用么public player gameobject;

    void Start()

    {

        gameobject.find("MainCamera").getcomponent<scenecamera>().player=this.gameobject;

    }

    void LateUpdate()

    {

        if(player!=null)

        {

            camera.transform.lookat(player.transform.position;

        }

    }

    查看全部
  • <table><tbody><tr class="firstRow"><td><p><strong>Unity引擎基础概述</strong></p><p>行业知识汇总(引擎概念、游戏发展、VR AR的应用领域)</p><p>需求分析“概念”(对于提出的需求可以在逻辑上拆解成相应步骤);</p><p>开发工具介绍:VistualStudio IDE、MonoDevelop IDE</p><p>C#脚本语言基础:数据类型、数学运算、逻辑运算三大模块基础。</p></td></tr><tr><td><p><strong>C#脚本语言模块化开发</strong></p><p>过程性模块化封装:方法定义,理解形参、实参和返回值的意义;</p><p>面向对象模块化封装:类对象申请与使用、类对象继承、虚拟化类使用、结构体、枚举、宏;</p></td></tr><tr><td><p><strong>C#脚本语言面向对象开发</strong></p><p>C#语言OOP技术:类对象的创建和使用,理解构造和析构函数的申请与释放过程、了解C#内存申请释放的处理过程;成员变量属性化操作、纯虚类继承设计方案、类抽象性变化、使用泛型完成任意类型对象、深度复制和浅复制的操作、Object基类的使用、集合应用;</p></td></tr><tr><td><p><strong>高级数据结构(C#版本)</strong></p><p>类对象的抽象接口开发。</p><p>数据结构:单双向链表的构建与实际应用,栈的构建与使用,队列的构建与使用;</p><p>排序算法:冒泡排序、快速排序、插入排序;</p><p>设计模型:单列、工厂模式、有限状态机;</p></td></tr><tr><td><p><strong>Unity3D C#脚本基础API</strong></p><p>Unity引擎的界面、组件等介绍; 3D坐标系、向量概念介绍; MonoBehaviour类了解Unity引擎的运作机制; 使用GameObject类构建基本的游戏对象; 学习Transform类使我们的3D世界动起来; 学习Vector2/3/4类使用; 学习Mathf数学类。 学习Input辅助类掌握Unity引擎对硬件控制的反馈处理。 学习Time类使用;</p></td></tr><tr><td><p><strong>基础3D数学</strong></p><p>向量数学计算、向量数学计算与几何意义;</p><p>自定义设计向量计算类;</p><p>3X3矩阵线性计算、4X4齐次放射矩阵计算、矩阵求逆、四元数数学计算 ;</p><p>实现向量空间转换计算器;</p><p>补充三角函数(Sin, Cos, Tan, ArcCos, ArcSin, ArcTan);</p></td></tr><tr><td><p><strong>Unity3D组件编程与应用</strong></p><p>简易多线程:协同。</p><p>基础物理系统:刚体,碰撞体,射线。</p><p>摄像机组件与应用坐标系以及各个坐标系的转化。</p><p>灯光与音效组件的使用;</p><p>渲染组合套件和网格过滤组件控制。</p><p>2D物理组件;</p><p>资源系统和组件系统:Resources,Component集合。</p></td></tr><tr><td><p><strong>Unity3D动画与粒子系统</strong></p><p>使用Animation旧动画系统实现简单的重复性运动;</p><p>使用脚本实习旧动画系统实现状态机控制;</p><p>MecAnim新动画系统的学习和使用;</p><p>2D Animator动画系统综合应用;</p><p>利用新动画系统采用图示化的方式构建动作执行方案;</p><p>使用代码控制动画状态机产生运动变化;</p><p>动画系统结合粒子系统的综合应用;</p><p>Unity导航系统、场景烘焙、遮挡剔除 烘培使用技巧;</p></td></tr><tr><td><p><strong>Unity3D 文件系统与UI界面</strong></p><p>C#文件内存数据流开发;</p><p>XML文件读写;</p><p>Jsone文件读写;</p><p>UGUI布局与适配;</p><p>使用NGUI插件实现游戏UI制作;</p></td></tr><tr><td><p><strong>计算机基础图形学</strong></p><p>渲染基础概念理解(GPU工作流程简介);</p><p>学习Unity3D引擎的 ShaderLab语法;</p><p>Cg语言基础学习;</p><p>Cg语言与Unity3D引擎结合实现渲染;</p><p>基础光照着色算法(Diffuse、Phong、BinPhong);</p><p>切线空间学习实现凹凸贴图渲染;</p><p>引擎控制着色器代码工作;</p></td></tr><tr><td><p><strong>Unity3D高级开发</strong></p><p>C++语言基础:指针,引用、函数和类定义</p><p>C++语言高级开发:重载函数与运算符、OOP技术、泛型、STL模板:</p><p>C++文件数据流操作;</p><p>C#调用C++动态库;</p></td></tr><tr><td><p><strong>Unity3D 高级网络应用开发</strong></p><p>Linux、Windows、OSX多线程开发;</p><p>线程安全学习与应用;</p><p>网络套接字(Socket)套接字基础知识学习;</p><p>套接字基础通讯;</p><p>实现客户端/服务端通讯;</p><p>实现Unity引擎调用C++套接字实现引擎网络化;</p></td></tr><tr><td><p><strong>Unity项目实训</strong></p><p>学习Editor自定义组件;</p><p>学习EditorWindow工具化开发,实现Unity引擎自定义工具制作;</p><p>实现地遍系统构建;AssetsBundle打包与读取。</p></td></tr><tr><td><p><strong>Unity项目实训</strong></p><p>程序构建战斗系统核心框架;策略类游戏分析。</p><p>实现战斗系统中的控制系统;策略类游戏实现(地图编辑系统,角色技能系统、寻路系统、游戏数据读写,网络通信);</p><p>实现战斗系统中的寻路技术;</p><p>实现战斗系统中的NPC的人工智能控制;</p></td></tr><tr><td><p><strong>Unity项目实训</strong></p><p>优化战斗系统;</p><p>对于计算密度高的算法向C++方式移植;</p><p>构建MVVM视图架构,添加UI视图;</p><p>实现数据系统,让所有的角色拥有数指属性;</p></td></tr><tr><td><p><strong>Unity项目实训</strong></p><p>优化数值系统;</p><p>优化美术资源的内存占用;</p><p>优化程序的冗余算法;</p><p>优化算法的精细度;                     </p><p>开始移植Android和IOS平台;</p></td></tr></tbody></table><p><br /></p>
    查看全部
  • 所有的 UI 元素必须在 Canvas 下才能生效

    锚点:保证屏幕缩放时 UI 元素到锚点的距离不变


    查看全部
  • AI 逻辑 渲染 动画 资源管理 物理
    查看全部
  • 游戏的要素:

    (一)逻辑

    (1)游戏逻辑:游戏的玩法,用户的输入

    (2)AI:NPC互动,自动寻路,追逐敌人

    (3)物理运算:碰撞检测,重力,惯性,速度等物理计算

    (二)显示

    (1)动画系统:控制动画的播放

    (2)底层渲染:告诉硬件怎么完成显示

    (三)声音:相对独立,由单独的团队完成

    查看全部
  • prfabs:是什么东西---类似模板的备份

    1重复使用;2同时修改


    查看全部
  • 怎么嵌入android开发呢?

    查看全部
  • 游戏要素

    查看全部
  • camera  摄像机 显示的画面 必须有的

    Colliders 碰撞事件

    directional light 方向光

    查看全部
  • fbx文件 美术编辑 程序员导入

    Mesh Render  渲染组件 控制渲染是否可见


    mesh 决定形状

    materials 材质


    materials的两个重要属性: 

    texture 贴图  

    shader  着色器: 一个显卡程序 控制渲染效果 程序员编程  内置也有很多


    查看全部
  • 可以将资源包使用Export Package功能打包

    官方demo,入门资源,asset store

    右键打包出资源texture(纹理)


    查看全部
    0 采集 收起 来源:美术资源管理

    2018-05-09

举报

0/150
提交
取消
课程须知
本课程是Unity 3D入门课程,适合零基础的小伙伴们,赶紧开始学习吧。
老师告诉你能学到什么?
1、Unity的基本功能和操作 2、如何利用Unity学会开发游戏 3、利用Unity的内置模块实现一些AI和特效

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!