游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4488|回复: 0

教你制作3DRPG游戏补充篇03——行走斜坡

[复制链接]

15

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2010-9-4 10:22:00 | 显示全部楼层 |阅读模式
行走斜坡
游戏中的地面并非都是平坦的,有时需要添加一些斜坡。主角如何才能自然地行走在这些斜坡上呢?实现方法其实很简单,只要加上一小段代码就可以了。



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的距离。在下斜坡时,由于角色往前走后前方没有地板,于是角色往下方移动,形成走下斜坡的姿态。在上斜坡时,由于脚下有地板而角色向上移动,使得角色可以向前走。

整段代码其实是在动态平衡中实现的,角色一上一下,最终形成看似站立的姿态。





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





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

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-7 05:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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