unity3d游戏开发笔记4

unity3d游戏开发笔记4

ID:26393168

大小:2.43 MB

页数:46页

时间:2018-11-26

unity3d游戏开发笔记4_第1页
unity3d游戏开发笔记4_第2页
unity3d游戏开发笔记4_第3页
unity3d游戏开发笔记4_第4页
unity3d游戏开发笔记4_第5页
资源描述:

《unity3d游戏开发笔记4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、www.taikr.com泰课在线2014.1.2610.【边界与优化昼夜系统...崩溃的Unity!】(1)今天该做什么了呢?先把地图几个边界吧。虽然这不是必须的,不过为了玩家的生命财产安全,我觉得加上应该是必要的。新建一个立方体,把它放大到合适的位置,然后放在地图边界上,比例差不多了,就可以把它拖放到以前建立的_MyPrefab中。然后复制三个,分别放在))四个边界上,就可以了。如图:最后只要把方块的渲染选项的勾去掉,让它看不见即可。(2)然后吧,就把昼夜系统再完善下。在当初写昼夜系统的时候,如果到了晚上

2、,是直接把平行光的角度往上转,虽然这样达到了将场景弄到夜晚的目的,但是因为这样的原因是由地形挡住造成的,所以地面会有一些高光,导致晚上的场景看起来不但假,也不好看,还极度浪费资源。这里就得改一下。方式也不难,就是在DayAndNightManager脚本中,在改动平行光角度的switch语句里,将“黎明”至”晚上“的判断语句的break前,加上这么一句:m_tramsform.light.type=LightType.Directional;而在”晚上”至“黎明“之前,都加上一句改变灯光类型为点光源的:m_t

3、ramsform.light.type=LightType.Point;虽然在这儿其实在各个关键点换一下灯光就可以了,不过考虑到往后肯定会有直接改变时间的时候,未免出现bug,这里就麻烦点,不去省资源了(也省不了多少)。到了晚上,阴影一去,drawcall这下子降了近一半。资源省惨了~~。46泰课在线(www.taikr.com)——国内首家Unity3D游戏开发免费实训基地www.taikr.com泰课在线(3)这儿,本来应该是写今天刚做的物品栏之类的,可惜,电脑在休眠中断了一次电,什么都没了......除

4、了脚本,地图全变成了空的!我能说什么了?而且还什么预设都没存,这下.....被坑得好惨啊!欲哭无泪啊555.。。。恐怕只有重做了......幸好代码还在!555......46泰课在线(www.taikr.com)——国内首家Unity3D游戏开发免费实训基地www.taikr.com泰课在线2014.1.2711.【新的开端与角色暴击...GUI浮动提示栏。】又再次搞了一天,弄出了这么个模样:不多说了,说多了就是泪.....在这儿写是因为想提点一下:绝对不能把整个daikonGUI的UI做成预制体,否则Un

5、ity直接崩溃没话说.....刚又折腾了个小时才找出这么个原因!以前丢失的都是些地图,幸好与大局无碍。而且刚才测试的时候又发现了一个Bug,就是如果敌人直接被Destroy掉的话,刷新点就会因为判断没有重置而一直不再刷新(就像是上面那个平台,敌人掉下去就被Destroy了,刷新点却一直不刷敌人了。)修复的方法很简单,就是在EnemySpawn脚本中,if(m_madeEnemyState!=null){m_madeEnemyIsDead=m_madeEnemyState.m_isDead;}后面加上一句重置敌

6、人没有刷出的判断:if(m_madeEnemyState!=null){46泰课在线(www.taikr.com)——国内首家Unity3D游戏开发免费实训基地www.taikr.com泰课在线m_madeEnemyIsDead=m_madeEnemyState.m_isDead;}elsem_madeEnemyIsDead=true;这下就可以了!现在的话,还是先给玩家角色增加一个属性:“暴击率”吧。不然,光是敌人有暴击攻击,就不大公平了。打开PlayerControl脚本,在最开始的属性标签中新定义一个属

7、性:publicfloatm_bigAttack=0.02f;//暴击几率同时,在对象标签中分别定义一个暴击的粒子效果和音效://粒子效果publicTransformm_attackParticle;//普通攻击粒子publicTransformm_bigAttackParticle;//暴击粒子//声音publicAudioClipm_attackAudio;//普通攻击音效publicAudioClipm_bigAttackAudio;//暴击音效最后就是在下面的攻击过程中进行暴击的判断,将Attack

8、函数中关于攻击的判定改成这样:if(Input.GetMouseButtonDown(0)){if(m_attackDelay<0){if(Random.value>m_bigAttack){m_animation.Play("Attack3-1");m_forward=m_transform.TransformDirection(Vector3.forward);//Debug.DrawLine(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。