欢迎来到天天文库
浏览记录
ID:26393168
大小:2.43 MB
页数:46页
时间:2018-11-26
《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(
此文档下载收益归作者所有