5395人加入学习
(74人评价)
《暗黑战神》3D网游ARPG实战案例(第一季)(Unity 2017.3)
价格 ¥ 450.00
该课程属于 Unity - A计划(永久有效期) 请加入后再学习

lightmap 灯光烘焙 ,  静态场景的lightmap settings  下面的  scale in lightmap    就是烘焙的权重,  0-1, 次要选择0.2  

light设置下,   
light resolution  是光的分辨率          烘焙影响很大
lightmap resolution  是形成的贴图的分辨率,     烘焙 影响很大
final gether  是贴图连接处的平滑度,
 directional mode 是光作用于贴图的法线, 决定立体感。     

开启全局光照烘焙,   设置减性substractive  , 就是动态用实时光照, 其他全部烘焙。 

fog雾的效果, 不在场景内,  是摄像机 , 参数为距离摄像机的 开始距离结束距离。  
烘焙出来的文件就是在当前场景的文件夹  

AudioListener  只需要一个 并且不能销毁,  放在管理物体,   
 

[展开全文]

血条:  作为UI ,血条子物体包括  伤害,闪避暴击等,  
伤害跳跃框, 不需要tips那样的队列取出 , 因为可能伤害吸收很快,  动画结束了还在跳伤害就很奇怪,   所以新受到伤害, 直接停止旧的动画,重新播放新的。  

关闭动画, animation.stop();     播放  .play();  

血条管理, Camera.main.WorldToScreenpoint( vec 3);    获取的是一个点,怪物头顶的HPROOT,可以解决偏移 。  血条是RectTrans  还需要按点变换 rect,   再修改一个比例适配, 标准比例 和屏幕高度的比例 ,

灰条: 血条缓冲 , 红条实时计算, 灰条不计算,只根据是否等于红条来update 填充, 根据time.deltatime +-, 
 

[展开全文]

技能CD: 按下A,{如果技能非CD则使用技能且变CD状态, 如果技能在CD则输出正在冷却} ,  然后每秒判断,如果正在冷却且冷却倒数大于eltatime, 则-=deltatime,   如果小等于deltatime,则判断冷却完毕变非CD,    
封装成一个方法, 后续要添加新的技能按键就直接加一个方法, 很简单  。  
  if(input.A)  {
   if(A非冷却) 释放A,变冷却;
   else 
      输出A在冷却;

   if(A在冷却&&倒数大于0.02)
     倒数-=0.02
else    
  A改为非冷却 
}
封装成一个方法 参数为按键和UI图片, 后续要添加新的技能按键就直接加一个方法,  不需要在内部添加  ,
 

[展开全文]


UI自适应,   canvas 设置根据screen size 调整, 而不是pixel像素调整,  然后1280*720作为基础, 然后设置匹配长宽各0.5, 不会出现所有UI 同行或同列 ,   如是1则会同行

为了适应各种不同的屏幕   game视角应该作为free aspect  或者1280,720也行因为常用  ,然后根据free aspect 来调整UI的锚点,   注意是父物体,  左下角的锚点设置为左下角,  右上角就对准右上角锚点,     如果是中心的则对准中心锚点,   这样做的好处是,  UI不会超出屏幕,  都会显示,  

[展开全文]

异步加载场景:    UI 根节点调用如下, 1加载页面true ,  2异步加载, 3. 获得progress进度, 赋值百分比
进度条右边的闪光动画位置,为进度条总长度乘进度比例,从最左端开始要减去长度一半 。需在update 调用 。

progress进度: AsyncOperation ao=SceneManager.LoadSceneAsync('');
float value=ao.progress;
 

[展开全文]

UI管理:  需要一个UI根节点,下设UI分节点,下设各个分节点管理的功能,     层次明显,功能独立  
异步加载场景:    UI 根节点调用如下, 1加载页面true ,  2异步加载,
 

[展开全文]

 lambda 表达式    =()=>{ }   转为符号, 不需要添加一个新的方法名, 直接转为新内容
  =() 内为参数,  =>{ }  为转为的方法内容, 对应参数如何使用    
 

[展开全文]

 渲染light环境分为天空盒背景不修改, 和环境光颜色可修改氛围 , 
 摄像机也有独立的天空盒背景可设置为纯色需要修改,
 光源颜色独立, 

分为环境光     和灯光光, 在渲染light窗口里选择 , 天空盒改为 颜色,  则场景没有天空盒背景。
灯光可以设置照射的对象层,  面板最后一个culling mask

[展开全文]

  最后老师写的用户名限制这里如果用正则表达式效果会更好哦

        if (iptName.text != "")
        {
            //TODO
            //发送名字数据到服务器,登陆到主城
        }
        else
        {
            GameRoot.AddTips("当前名字不符合规范");
        }

更改为

    Regex rex = new Regex(@"^[\u4E00-\u9FA5A-Za-z0-9]+$");
        var result = rex.Match(iptName.text);
        if (!result.Success)
        {
            GameRoot.AddTips("当前用户名不符合规范!");
            return;
        }else
        {
            //TODO
            //发送名字数据到服务器,登陆到主城
        }

[展开全文]

如果登录按钮, 输入框 点击都没反应, 看看 SceneLogin 是否有 "EventSystem", 没有的创建一个就 OK 了

[展开全文]

授课教师

PlaneZhong

课程特色

图文(1)
视频(289)