收藏 分享(赏)

罗培羽—教你制作3DRPG游戏+第一节.ppt

上传人:ysd1539 文档编号:6325913 上传时间:2019-04-07 格式:PPT 页数:49 大小:2.38MB
下载 相关 举报
罗培羽—教你制作3DRPG游戏+第一节.ppt_第1页
第1页 / 共49页
罗培羽—教你制作3DRPG游戏+第一节.ppt_第2页
第2页 / 共49页
罗培羽—教你制作3DRPG游戏+第一节.ppt_第3页
第3页 / 共49页
罗培羽—教你制作3DRPG游戏+第一节.ppt_第4页
第4页 / 共49页
罗培羽—教你制作3DRPG游戏+第一节.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、罗培羽教你制作3DRPG游戏,罗培羽教你制作3DRPG游戏,罗培羽 作品网名:碧俐千仞 QQ:345697666 E-mail:,罗培羽教你制作3DRPG游戏,在这套教程中,我将讲述3维游戏的制作方法。目前国内很有名的3维角色扮演游戏仙剑4将我们对虚拟现实的认识推向一个新的台阶。但我不认为那种效果只有大公司可以制作,我们将通过我们自己的双手来创造一个新的奇迹。,第一节:Hello My World,罗培羽教你制作3DRPG游戏,“工欲善其事,必先利其器”本教程中我们将会使用3D GameStudio来制作我们的三维游戏。教程中我使用的是 3D GameStudio A6 简体中文专业版 V6.

2、5,罗培羽教你制作3DRPG游戏,大家可以到该软件的官方网站 下载该软件,罗培羽教你制作3DRPG游戏,这个软件包括3个主要部分,编辑游戏场景,写游戏脚本 制作游戏模型,罗培羽教你制作3DRPG游戏,现在我们打开关卡编辑器 我们来新建一个场景 【文件新建】 我们简单地绘制一个场景地面 【右键菜单添加添加立方体大】 为了使它漂亮点,我们来添加纹理 【纹理选择纹理应用】 建造、运行看看,罗培羽教你制作3DRPG游戏,我们移动一下立方块,再试试。 我们也可以继续方块做个比较。,罗培羽教你制作3DRPG游戏,最后我们调整大小,移动到地平线,作为地面。,调整按钮,地面,罗培羽教你制作3DRPG游戏,我们

3、先保存我们的工程 【文件保存命名为3drpg】 我们接下来添加我们的主角 【对象添加实体player.mdl】 并且移动到相应的位置运行看看,罗培羽教你制作3DRPG游戏,我们可以在场景中添加一个摄像机让我们看得更加直观,罗培羽教你制作3DRPG游戏,现在让我们能够控制主角打开脚本编辑器,创建一个脚本文件并保存在工程目录下,命名为main.wdl,罗培羽教你制作3DRPG游戏,main.wdl中添加starter start_up() 这样我们定义了一个start_up函数,当程序启动时程序会运行start_up后面括号里的代码。,罗培羽教你制作3DRPG游戏,脚本运行后我们当然是先要加载地图

4、 string level_1=; starter start_up() level_load(level_1); 定义字符串指定到文件同目录下的3drpg.wmb然后载入 表示引用文件,注意每一句后面的分号,罗培羽教你制作3DRPG游戏,我们在定义添加 entity* myplayer;这样我们定义了一个物体myplayer,相当于我们定义了一个名字myplayer,罗培羽教你制作3DRPG游戏,在脚本后面添加 action player_actmyplayer=me; 这样我们定义了一个动作player_act 定义action后我们可以在关卡编辑器里面调用,罗培羽教你制作3DRPG游戏,

5、myplayer=me的意思简单来说就是给我们在关卡编辑器里的物体一个名字myplayer,我们以后就可以方便地对这个对象进行控制。,罗培羽教你制作3DRPG游戏,控制角色运动我们在关卡编辑器里将我们主角的动作设置为player_act,罗培羽教你制作3DRPG游戏,在starter_up我们继续添加 while(1)wait(1); 循环while(1)里面的1表示无限地重复 wait(1);是让重复有个间歇,使程序不会崩溃。其中的1是指间歇的时间。,罗培羽教你制作3DRPG游戏,控制角色运动,在while里添加if(key_w=1) /上 myplayer.x+=8; 当W键按下的时候,m

6、yplayer的坐标改变我们试试,罗培羽教你制作3DRPG游戏,一个物体的位置有以下六个属性 X Y Z Pan Roll tilt,x,y,z,pan,tilt,roll,罗培羽教你制作3DRPG游戏,我们可以把场景变得复杂些,并移动试试,罗培羽教你制作3DRPG游戏,c_move这个函数能自动判断是否遇上障碍,如果没有就移动对象,罗培羽教你制作3DRPG游戏,穿越!我们将myplayer.x+=8;更换为: c_move(myplayer,vector(8*time,0,0),nullvector,IGNORE_PASSABLE);,要移动的对象,移动方向(前后、左右、上下),为了将来程序

7、的通用性,我们使用time,罗培羽教你制作3DRPG游戏,我们试试添加/角色移动if(key_w=1) /上 c_move(myplayer,vector(8*time,0,0),nullvector,IGNORE_PASSABLE);if(key_s=1) /下 c_move(myplayer,vector(-8*time,0,0),nullvector,IGNORE_PASSABLE);if(key_a=1) /左 c_move(myplayer,vector(0,8*time,0),nullvector,IGNORE_PASSABLE);if(key_d=1) /右 c_move(myp

8、layer,vector(0,-8*time,0),nullvector,IGNORE_PASSABLE);运行我们的角色就能四方向行动了,罗培羽教你制作3DRPG游戏,我们的游戏当然要有和摄像机有关我们定义 view cameraflags=visible; 简单来说,这样我们定义了一个名字为camera摄像机,我们可以通过调用camera来控制摄像机。,罗培羽教你制作3DRPG游戏,我们需要转向,而且和摄像机的位置相关 /角色移动 if(key_w=1) /上 myplayer.pan=camera.pan; c_move(myplayer,vector(8*time,0,0),nullv

9、ector,IGNORE_PASSABLE); if(key_s=1) /下 myplayer.pan=camera.pan+180; c_move(myplayer,vector(8*time,0,0),nullvector,IGNORE_PASSABLE); if(key_a=1) /左 myplayer.pan=camera.pan+90; c_move(myplayer,vector(8*time,0,0),nullvector,IGNORE_PASSABLE); if(key_d=1) /右 myplayer.pan=camera.pan-90; c_move(myplayer,ve

10、ctor(8*time,0,0),nullvector,IGNORE_PASSABLE);,罗培羽教你制作3DRPG游戏,可我们的镜头总要能用鼠标进行转向吧!而且要能跟随角色,罗培羽教你制作3DRPG游戏,添加 camera.pan -= 12 * mouse_force.x * time; camera.tilt += 8 * mouse_force.y * time; 来转动摄像机试试,罗培羽教你制作3DRPG游戏,晕头转向,罗培羽教你制作3DRPG游戏,添加定义,摄像机和主角的距离 var camera_distance=200;,罗培羽教你制作3DRPG游戏,摄像机,轨道,主角,pan

11、,X,Y,罗培羽教你制作3DRPG游戏,摄像头后面添加 camera.x=myplayer.x - cos(camera.pan)*cos(camera.tilt)*camera_distance; camera.y=myplayer.y - sin(camera.pan)*cos(camera.tilt)*camera_distance; camera.z=myplayer.z + 20- sin(camera.tilt)*camera_distance;,水平距离,竖直距离,罗培羽教你制作3DRPG游戏,出错 主循环前添加 while(myplayer=null)wait(1);,罗培羽教

12、你制作3DRPG游戏,前面添加 camera.tilt = clamp(camera.tilt,-30,10);/限制来限制camera.tilt的取值范围,罗培羽教你制作3DRPG游戏,鼠标滑轮调距摄像机移动后面添加 camera_distance+= mickey.z*time; camera_distance = clamp(camera_distance,50,300);/限制,罗培羽教你制作3DRPG游戏,我们的主角可不喜欢只有一个动作,模型编辑器 帧,罗培羽教你制作3DRPG游戏,我们定义变量来控制角色的状态 var myplayer_action; 我们假定,当它的值为0时角色站

13、着,为1的时候角色跑动。每个按键后添加 myplayer_action=1;,罗培羽教你制作3DRPG游戏,/角色动画 if(myplayer_action=0)myplayer.frame=0; if(myplayer_action=1) if(myplayer.frame31)|(myplayer.frame1)myplayer.frame=1; myplayer.frame+=3*time; myplayer_action=0;,或,帧,罗培羽教你制作3DRPG游戏,我们在level_load前面添加video_switch(7,32,2); 我们可以查看脚本编辑器的帮助,查看这个函数各

14、个参数的意义。我们改变数值并运行看看 当然我们先要引用这个脚本,罗培羽教你制作3DRPG游戏,我们简单地把地图制作得好看一点点,添加纹理 顺便添加两个房子(预制),还有添加个老人,罗培羽教你制作3DRPG游戏,罗培羽教你制作3DRPG游戏,增加天空SKY skycube= type=;flags=CUBE,VISIBLE; sky_clip = 0;,罗培羽教你制作3DRPG游戏,增加背景音乐media_loop(“pal3.mp3“,null,200);,罗培羽教你制作3DRPG游戏,代码现在看起来比较复杂 我们来整理一下 function.wdlfunction do_role include;,罗培羽教你制作3DRPG游戏,当然这样的画面效果比起仙剑4之类的游戏还有很大的差距,美工方面将会在以后的课时中说明。,罗培羽教你制作3DRPG游戏,我们的主角现在可能很孤独很郁闷,因为他不能和其他人说话。,揭开主角的内心寂寞之苦,敬请关注本教程第二节,罗培羽教你制作3DRPG游戏,谢谢支持,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 游戏攻略

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报