- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unity3D游戏开发笔记4.doc
2014.1.26
10.【边界与优化昼夜系统...崩溃的Unity!】
今天该做什么了呢?
先把地图几个边界吧。虽然这不是必须的,不过为了玩家的生命财产安全,我觉得加上应该是必要的。
新建一个立方体,把它放大到合适的位置,然后放在地图边界上,比例差不多了,就可以把它拖放到以前建立的_MyPrefab中。然后复制三个,分别放在))四个边界上,就可以了。
如图:
最后只要把方块的渲染选项的勾去掉,让它看不见即可。
(2)然后吧,就把昼夜系统再完善下。
在当初写昼夜系统的时候,如果到了晚上,是直接把平行光的角度往上转,虽然这样达到了将场景弄到夜晚的目的,但是因为这样的原因是由地形挡住造成的,所以地面会有一些高光,导致晚上的场景看起来不但假,也不好看,还极度浪费资源。
这里就得改一下。
方式也不难,就是在DayAndNightManager脚本中,在改动平行光角度的switch语句里,将“黎明”至”晚上“的判断语句的break前,加上这么一句:
m_tramsform.light.type=LightType.Directional;
而在”晚上”至 “黎明“之前,都加上一句改变灯光类型为点光源的:
m_tramsform.light.type=LightType.Point;
虽然在这儿其实在各个关键点换一下灯光就可以了,不过考虑到往后肯定会有直接改变时间的时候,未免出现bug,这里就麻烦点,不去省资源了(也省不了多少)。
到了晚上,阴影一去,draw call这下子降了近一半。资源省惨了~~。
(3)这儿,本来应该是写今天刚做的物品栏之类的,可惜,电脑在休眠中断了一次电,什么都没了......
除了脚本,地图全变成了空的!
我能说什么了?
而且还什么预设都没存,这下.....被坑得好惨啊!
欲哭无泪啊555.。。。恐怕只有重做了......幸好代码还在!
555......
2014.1.27
11.【新的开端与角色暴击...GUI浮动提示栏。】
又再次搞了一天,弄出了这么个模样:
不多说了,说多了就是泪.....
在这儿写是因为想提点一下:绝对不能把整个daikonGUI的UI做成预制体,否则Unity直接崩溃没话说
.....刚又折腾了个小时才找出这么个原因!
以前丢失的都是些地图,幸好与大局无碍。
而且刚才测试的时候又发现了一个Bug,就是如果敌人直接被Destroy掉的话,刷新点就会因为判断没有重置而一直不再刷新(就像是上面那个平台,敌人掉下去就被Destroy了,刷新点却一直不刷敌人了。)
修复的方法很简单,就是在EnemySpawn脚本中,
if(m_madeEnemyState!=null)
{
m_madeEnemyIsDead=m_madeEnemyState.m_isDead;
}
后面加上一句重置敌人没有刷出的判断:
if(m_madeEnemyState!=null)
{
m_madeEnemyIsDead=m_madeEnemyState.m_isDead;
}else m_madeEnemyIsDead=true;
这下就可以了!
现在的话,还是先给玩家角色增加一个属性:“暴击率”吧。不然,光是敌人有暴击攻击,就不大公平了。
打开PlayerControl脚本,在最开始的属性标签中新定义一个属性:
public float m_bigAttack=0.02f;//暴击几率
同时,在对象标签中分别定义一个暴击的粒子效果和音效:
//粒子效果
public Transform m_attackParticle;//普通攻击粒子
public Transform m_bigAttackParticle;//暴击粒子
//声音
public AudioClip m_attackAudio;//普通攻击音效
public AudioClip m_bigAttackAudio;//暴击音效
最后就是在下面的攻击过程中进行暴击的判断,将Attack函数中关于攻击的判定改成这样:
if(Input.GetMouseButtonDown(0))
{
if(m_attackDelay0)
{
if(Random.valuem_bigAttack)
{
m_animation.Play(Attack3-1);
m_forward=m_transform.TransformDirection(Vector3.forward);
//Debug.DrawLine(m_transform.position+Vector3.up,new Vector3(10,0,0),Color.
您可能关注的文档
- OA系统方案——协众OA.doc
- opengl学习指导实验 计算机图形学上机.doc
- Oracle测试报告.doc
- Part IV Realism - Harriet Beecher Stowe.doc
- Part IV Realism - Jack London.doc
- Part V Twentieth-century Literature - Ezra Pound.doc
- Part V Twentieth-century Literature- William Faulkner.doc
- Part V Twentieth-century Literature.doc
- PB 面向对象程序设计实验指导书.doc
- PC控制系统设计的要点1.doc
文档评论(0)