当前位置首页 > 学术论文 > 毕业论文
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

实验报告六

文档格式:DOCX| 8 页|大小 483.55KB|积分 20|2023-02-21 发布|文档ID:189015688
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 8
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 实验报告课程 实验名称 丰富的场景-粒子系统 页专业 数字媒体技术 班级 _ _1班 学号姓名—张蕾—实验日期:14年11月26日 报告退发(订正、重做) 一、实验目的掌握 WaterBlock 数据块的使用掌握使用例子系统实现瀑布、篝火等场景 掌握区域触发器的使用二、实验任务实现游戏中的瀑布,及瀑布下的水面实现爆炸效果 实现触发器事件处理三、实验环境Code WeaverTorque Game Engine四、实验步骤1 、准备水面的图片素材,复制到 MOD 目录的 data/water 中2、 在世界编辑器中添加water,调整到合适位置3、 编辑水的属性,调整规模值scale4、 设置水的材质纹理文件参数如下surfaceTexture = "~/data/water/water.png";ShoreTexture = "~/data/water/water_edge.jpg";envMapOverTexture = "~/data/skies/day_0007.jpg";specularMaskTex = "~/data/water/water_spec.jpg";5、 设置水面颜色深浅参数如下:ShoreDepth = "1";DepthGradient = "1";6、 保存任务文件。

    7、 将粒子系统的图片素材,拷贝到data/shapes/particles目录下8、 在MOD目录的/server目录下,新建particle.cs9、 加入以下代码 datablock ParticleData(WFallAParticle){textureName = "~/data/shapes/particles/splash";dragCoefficient = 0.0;gravityCoefficient = 0.5; // down slowlywindCoefficient = 1.0;inheritedVelFactor = 2.00;lifetimeMS = 150000;lifetimeVarianceMS = 2500;useInvAlpha = false;spinRandomMin=-30.0;spinRandomMax=30.0;colors[0]="0.6 0.60.60.1"colors[1]="0.6 0.60.60.1"colors[2]="0.6 0.60.60.0"sizes[0] = 5;sizes[1] = 10;sizes[2] = 15;times[0] = 0.0;times[1] = 0.5;times[2] = 1.0;};datablock ParticleEmitterData(WFallAEmitter) {ejectionPeriodMS = 10;periodVarianceMS = 5;ejectionVelocity = 0.55;velocityVariance = 0.30;thetaMin = 0.0;thetaMax = 90.0;particles = WFallAParticle;};datablock ParticleEmitterNodeData(WFall1EmitterNode) {timeMultiple = 1;};datablock ParticleData(WFallBParticle)textureName dragCoefficient gravityCoefficient inheritedVelFactor= "~/data/shapes/particles/splash"; = 0.0;= -0.1; // rises slowly= 2.00;lifetimeMS = 3000; lifetimeVarianceMS = 500; useInvAlpha = false; spinRandomMin = -30.0; spinRandomMax = 30.0;colors[0] = "0.4 0.4 0.7 0.1";colors[1] = "0.5 0.6 0.8 0.1";colors[2] = "0.6 0.6 0.9 0.0";sizes[0]= 10;sizes[1]= 15;sizes[2]= 20;times[0]= 0.0;times[1]= 0.5;times[2]= 1.0;};datablock ParticleData(WFallCParticle) {textureName = "~/data/shapes/particles/splash"; dragCoefficient = 0.0;gravityCoefficient = -0.1; // rises slowly inheritedVelFactor = 2.00;lifetimeMS = 3000; lifetimeVarianceMS = 300;useInvAlpha = false;spinRandomMin=-30.0;spinRandomMax=30.0;colors[0]="0.4 0.40.50.1"colors[1]="0.5 0.50.60.1"colors[2]="0.0 0.00.70.0"sizes[0] = 5;sizes[1] = 5;sizes[2] = 5;times[0] = 0.0;times[1] = 0.5;times[2] = 1.0;};datablock ParticleEmitterData(WFallBEmitter){ejectionPeriodMS = 15;periodVarianceMS = 5;ejectionVelocity = 0.25;velocityVariance = 0.10;thetaMin = 0.0;thetaMax = 90.0;particles = "WFallBParticle" TAB "WFallCParticle";};datablock ParticleEmitterNodeData(WFall2ParticleEmitterNode){timeMultiple = 1;};10、在 server/game.cs 中的 onServerCreated()中加载该脚本 exec("./Particle.cs");11 、创建粒子发射节点 练习:在场景中添加篝火。

    12、 将 Explosion.cs 复制到 MOD 路径的 server 目录下,在 game.cs 中的 onServerCreated() 中添加该脚本的加载执行exec("./Explosion.cs");13、 将资源放到 data/shapes/particles 目录下14、 在游戏编辑器中添加一个道具,并命名为“jiabaoshi”15、 修改 MOD 下面的 server 目录里的 logoitem.cs 文件,修改 BoulderItem::onCollision, 改为碰到假宝石分数-5,并引发爆炸if (%obj.getName() $= "jiabaoshi"){Explode(%obj);%client.score = %client.score - 5;}else{%client.score = %client.score + 3; %obj.delete();}16、 进入游戏测试,碰到 jiabaoshi 爆炸,分数-5.17、 设置好要爆炸的区域,假定为一颗树的位置,该树命名为explotree18、 将脚本Trigger.cs拷贝到游戏mod路径下的server目录,并在game.cs中加载该脚本19、 在游戏编辑器中添加一个爆炸用的触发区Mission Objects-〉Mission-〉Trigger,命名 为treeArea。

    调整触发区的大小和位置20、测试效果,走到树的附近发生爆炸,树消失21、练习:进入触发区,触发爆炸,游戏结束五、实验结果与讨论(描述最终得到的结果,并进行分析说明,可能的误差原因)1、添加水2、添加篝火3、添加瀑布4、碰到假宝石-5分5、设置树的爆炸区域NOYESWould you like to restart the game ?You Win!六、总结(说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决/需进一步研讨的 问题或建议新实验方法等) 问题:在世界编辑器中添加水,设置水的材质纹理深浅,没有反应解决:检查后发现,参数设置不对。

    点击阅读更多内容
    卖家[上传人]:magui
    资质:实名认证