zoukankan      html  css  js  c++  java
  • Unity 学习笔记3

    一:控制灯光的脚本:
    Public Light aLight;
    aLight = GameObject.Find("有灯光的一个物体名字").GetComponent<Light>();
    //以上代码可以将代码信息传递给这个物体的光组件。
    aLight.light.intensity = 一个小于8的float数;//这样就可以控制灯组件的亮度了。
    注意,这样写完以后,在Inspector面板的选项处就不能为aLight设置目标了,否则会报错;

    二:定时器:
    Public float Max =10.0f;//定义一个最大的时间

    Void Update()//在每一帧检测
    {
    if(max > 0.0f)
    {
    Max -= Time.deltaTime;
    }
    Else
    {
    Max=10.0f;
    …………
    }
    }//每隔max时间执行else中代码;

    三:键盘事件的获取
    1.按下事件:
    Input.GetKeyDown();//如果按下按键,返回ture,否则返回false
    例如:
    If(input.GetKeyDown(KeyCode.A))
    {
    Debug.log("按下了A键");
    }
    2.拾起事件:
    Input.GetKeyUp();//如果抬起了按键,返回ture
    例如:
    If(input.GetKeyUp(KeyCode.A))
    {
    Debug.log("抬起了A键");
    }
    3.长按事件:
    Input.GetKey();
    例如:
    Int num=0;
    If(input.GetKey(KeyCode.A))
    {
    num++;
    Debug.log("A被连按了"+num+"次");
    }

    四:载入新场景
    例如一个碰撞器触发的载入新场景:
    Void OnTriggerEnter(collider player)
    {
    Application.LoadLevel("场景名字");
    }

    五:导出游戏到特定的平台
    1.file->buildsetting
    2.将已建好的场景拖入scenes inbuild窗口实现添加,注意场景排序。
    3.点击player setting按钮,在Inspector面板设置游戏基本信息,如:公司名字,游戏名字,游戏图标。在per-Platform Setting选项中,保证对应平台正确,对于pc,可以调节分辨率,品质,全屏与否等等。
    4.点击build and run或者build保存exe文件即可…

    六:烘培光照贴图
    1.设置静态物体,告诉系统场景中哪些物体是静态的。
    选中物体,在Inspector面板中勾选static即可。
    2.windows->lightmapping(光照贴图)
    在object选项中选择烘培起作用的物体。
    在bake选项中:Mode中,选择DualLightmaps系统会创建出远景和近景两层光照贴图;移动平台低效果游戏可以选Use in forward rend选项;在最下面可以设置天空光线。
    在maps选项:添加light probes(光线探测器),可以采集场景中的光线信息并应用到动态物体上。
    创建空物体,选中该物体,Addcomponent->rendering->light probes
    然后Add Probe,将探测器布置到场景中即可,探测器布置的越多,采样效果越好。
    回到maps选项,bake probes将探测器烘培到场景中,然后回到object选项,将bakeprobes改为bake scene。

    烘培结束后删除场景中的光源。
    要想探测器对动态物体生效,对于动态物体,要选中use light probes选项。

    七:动画制作
    Ctrl+6或windows->Animation打开动画编辑窗口,在资源文件夹内新建储存动画的文件夹Animation,选中物体,点击小红点,就可以录制动画了;

    八:动画控制(同一角色不同状态触发不同动画)
    1.在3ds max里创建动画,导出FBX格式文件,命名规则: 物体名@动画名
    2.在unity3d素材文件夹导入FBX文件,设置rig为legacy;
    3.将模型拖入场景中,在Animations选项中设置size为需要导入的动画片段数,在下面依次导入动画片段。
    4.写脚本:
    animation.wrapMode = WrapMode.Loop; //设置所有动画为循环播放,还有其他方式可设置;
    播放动画代码为:
    animation.play("动画名"); //没有任何过度的播放一个动画;
    animation.CrossFade("动画名"); //自动的从正在播放的动画平滑的切换到指定的动画;

  • 相关阅读:
    AirFlow性能调优
    AirFlow通过账号密码➕角色权限控制来登陆
    通过Supervisor管理airflow的webserver进程和scheduler进程
    CSS基础一
    html学习
    Linux下MySQL远程链接配置
    搭建Firekylin博客
    Vuejs开发环境搭建及热更新
    templates页面超链接访问Controller方法
    Chrome搜索设置
  • 原文地址:https://www.cnblogs.com/liyichong/p/4756606.html
Copyright © 2011-2022 走看看