作者yolin5460 (悠悠悠...灵)
看板C_Sharp
标题[程式] 关於3D程式,XNA的问题..
时间Sun Jun 2 01:14:14 2013
因为不知道该发在哪一版,所以发在开发语言的这版
如果有发错版的话,会把文章转过去询问
------------------------------------------------
小弟是大学生,课程专题选了3D程式设计,是使用XNA来开发
最近制作课程专题的时候,遇到了一些问题
我们课程专题的组别是决定做游戏,内容主要是"第一人称视角的障碍通过游戏"
简单的说,就是玩家需通过各种障碍物到达终点,视角有点像CS的第一人称游戏
目前第一人称视角的部分已经完成,现在在做人物的移动部份
这部份有遇到几个问题,想问问看有没有可以解决的办法
首先我们人物是用一个Box来表示,cameraPosition附着在Box上
1.人物的移动部份
这部分我们打算用WSAD + Space来做人物操控
在按下W键时,Box的LinearVelocity(线性速度)就会等於目前前进方向的向量
例: LinearVelocity = new Vector3(10f,0,0);
然後按下Space时,Box的LinearVelocity就会等於向上的向量
例: LinearVelocity = new Vector3(0,10f,0);
不过这样就会出现一个问题,就是因为是用等号,所以便无法做到惯性的现象
也就是无法向前跳这样,不过如果用LinearVelocity += new Vector3
便会以极快的速度加速,所以想请问有没有比较好的解决方法?
2.斜坡的行走
我们地图有一些斜坡的地形,这部份是为了做出大球从上方滚动下来的陷阱
不过这方面有一些问题,就是当人物走到斜坡时,经常会发生穿墙的事情
这部份就不知道怎麽解决了,虽然可以把斜坡和陷阱移掉
但是逃避问题只会让自己解决问题的能力停泻不前
所以来请教看看,有没有可以解决这部份问题的方法
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.161.252.145
1F:推 ahonchen:射线往下 三角形碰撞侦测出所在高度? 06/02 10:37
2F:→ ck574b027:游戏的话看来能跑去 GameDesign? 06/03 08:17
3F:→ yolin5460:谢谢各位的意见,这几天都在找射线相关的资讯,但是後 06/03 16:56
4F:→ yolin5460:来找到其他折衷的方法,就是当碰到斜坡时,把box的位置 06/03 16:57
5F:→ yolin5460:移到不会卡住的位置,运作起来就还算正常。另外移动方面 06/03 16:59
6F:→ yolin5460:也解决了。虽说没有正面挑战问题,不过因为deadline快 06/03 17:00
7F:→ yolin5460:到了,所以用了偷吃步的方法,不过还是再次谢谢各位的意 06/03 17:01
8F:→ yolin5460:见。 06/03 17:01
9F:→ yolin5460:另外请问一下,GameDesign是在哪个版块?或是中文名称? 06/03 17:05
10F:→ stormcorn:UNITY不好用吗? 06/04 00:12
11F:→ ck574b027:没搜过版?在外面按s打GameDesign 06/04 12:36
12F:→ yolin5460:课程限定用XNA啊= = 06/08 01:34