幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2201|回复: 1

[3D工具&引擎] 【迎新小献】罗培羽—教你制作3DRPG游戏补充篇03——行走

[复制链接]

56

主题

203

帖子

5076

积分

⑦老手

积分
5076
QQ
发表于 2010-9-4 10:19:19 | 显示全部楼层 |阅读模式


行走斜坡

游戏中的地面并非都是平坦的,有时需要添加一些斜坡。主角如何才能自然地行走在这些斜坡上呢?实现方法其实很简单,只要加上一小段代码就可以了。


if(c_move(myplayer,vector(0,0,-0.5),nullvector,IGNORE_PASSABLE)){;}//行走斜坡

else

{myplayer.z+=.1;}





c_move(myplayer,vector(0,0,-0.5),nullvector,IGNORE_PASSABLE这一句是让角色在如果底下没有地板的情况下往下方移动。c_move有返回值,如果遇到障碍物而不能移动,则返回0,否则返回非零的数。
整段代码的原理就是,当角色脚下没有地板的时候则让角色往下放移动0.5的距离,当脚下有地板的时候则向上移动0.1的距离。在下斜坡时,由于角色往前走后前方没有地板,于是角色往下方移动,形成走下斜坡的姿态。在上斜坡时,由于脚下有地板而角色向上移动,使得角色可以向前走。
整段代码其实是在动态平衡中实现的,角色一上一下,最终形成看似站立的姿态。




如果出现角色陷于地面或者是升起的情况,只要在模型编辑器中调整角色相对于原点的位置即可解决。下图是角色陷于地面的情况。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

50

主题

742

帖子

402

积分

版主

自定义头衔

Rank: 7Rank: 7Rank: 7

积分
402
发表于 2010-9-4 14:19:56 | 显示全部楼层
LZ好久没有来幻森了呢,不过印象还有^^

感谢教程~
Style-C
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2019-11-18 18:54 , Processed in 0.015990 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表