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

Unity3D快速入门

HenryLiang 移动开发工程师
难度入门
时长 3小时18分
学习人数
综合评分8.47
121人评价 查看评价
8.8 内容实用
8.1 简洁易懂
8.5 逻辑清晰
  • camera  摄像机 显示的画面 必须有的

        camera's projection(投影方式)

            perspective 远景,近大远小,适合3D

            orthographic  正交视角,视角内大小一致,适合2D

    Colliders 碰撞事件

    directional light 方向光

    查看全部
  • Prfabs 作用:

    相当于一个模板

    引用 Prfabs 的 GameObject 会显示为蓝色

    如果修改 Prfabs,场景中所有相关的 GameObject 都会被修改


    查看全部
  • unity是一款适合手机游戏开发的引擎,入门快,操作方便,开发迅速,适合个人开发者及小型团队

    冲冲冲!

    查看全部
  • 游戏要素:1,逻辑;游戏的玩法,控制

       2,显示;展示游戏内容,过程,逻辑的结果

    查看全部
  • // 要移动的物体

    public GameObject center;

    // 新的位置

    Vector3 newPoint;

    // 用来看看这次运动是否结束

    private bool isOver = true;

    void Update () 

    {

      if (Input.GetMouseButtonUp(0)) 

      {

        ClickOn(Input.mousePosition);

      }

      MoveTo(newPoint);

    }

    void ClickOn(Vector2 pos) 

    {

      // 从摄像机生成一条射线

      Ray ray = Camera.main.ScreenPointToRay(pos);

      // 获取射线穿过的所有游戏对象

      RaycastHit[] hits = Physics.RaycastAll(ray);

      // 遍历射线穿过的所有对象

      foreach (RaycastHit hit in hits) 

      {

        // 如果当前穿过的对象的名字叫做Plane(名字根据自己设置)

        if (hit.collider.name == "Plane") 

        {

          newPoint = hit.point;

          // 是因为我的球大小是1然后对应的y会比点击到的y要大0.5

          newPoint.y = 0.5f;

          isOver = false;

          break;

        }

      }

    }

    // 这个是往指定方向移动的方法

    private void MoveTo(Vector3 tar) 

    {

      if(!isOver) 

      {

        Vector3 offSet = tar - center.transform.position;

        // 进行移动

        center.transform.position += offSet.normalized * 5 * Time.deltaTime;

        // 如果位置小于0.5就不动了

        if(Vector3.Distance(tar, center.transform.position)<0.5f) 

        {

          isOver = true;

          center.transform.position = tar;

        }

      }

    }


    查看全部
  • 更新逻辑:

    1. 场景调用是调用所有的脚本的awake()

    2. 调用所有脚本的Start()

    3. 调用update(每一帧)

    4. 调用LateUpdate(Update完了调用,也是每一帧)

    5. 调用FIxUpdate 在固定的时间间隔执行,不受游戏帧率影响

    查看全部
  • script 可以作为gameobject的一个component
    script想要挂在gameobject上必须要继承monobehavior
    Instantiate()创建gameobject
    awake()和start()来做初始化
    update, lastUpdate 和fixedUpdate更新逻辑
    逻辑顺序:场景启动时调用所有脚本的awake(), 
    再调用所有脚本的start(), 接下来每一帧调用Update
    和lastupdate, 最后按照时间调用fixupdate
    getComponent: 找到其他脚本
    GameObject.find找到其他物体


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

    //要用么public player gameobject;

    void Start()

    {

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

    }

    void LateUpdate()

    {

        if(player!=null)

        {

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

        }

    }

    查看全部
  • 游戏要素

    查看全部
  • 全都是英文好难看懂什么意思
    查看全部
    1 采集 收起 来源:Unity工程简介

    2018-02-23

  • animator 导入动画 controller 状态机 设计好状态机的脚本,用脚本控制状态机的参数 avatar 选择人形标识 选中Apply root motion 动画会影响gameobject的位置。不选中,用脚本来控制。
    查看全部
  • 官方demo,入门资源,asset store
    查看全部
    1 采集 收起 来源:美术资源管理

    2017-09-15

  • 锚点是为了屏幕的自适应,保证按钮等元素的几个点同相应的锚点距离不变
    查看全部
  • unity3D快速入门 游戏入门及Unity介绍 把游戏想象成一个动画片,它是一帧一帧播放的 你可以控制它的播放 逻辑是多变的 每帧播放什么,需要靠你的程序来控制
    查看全部
  • 动态生成物体以及销毁物体: 把一个prefab做成模板,在运行时调用Instantiate函数用prefab生成一个实例(GameObject)放在场景里。如果不需要的时候就调用Destory函数将GameObject销毁掉
    查看全部

举报

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

微信扫码,参与3人拼团

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

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