我们先来了解下我们要做的东西,我所指的车子是 func_vehicle 实体构成的可控制移动物体,之所以没叫汽车是因为它不仅可以表现汽车,还可以表现任何可控制的移动物体,比如划板,飞行器之类的
那么我们要用到什么实体呢?完整的车子需要用到下面的实体: 1. func_vehicle 固体实体,用来表达车子,它由车子的模型和贴着 origin 纹理的中心体构成 2. func_vehiclecontrols 固体实体,用来表达驾驶区,控制车子的地方 3. path_track (两个) 点实体,用作路径点,这个可用可不用,但是我推荐大家使用,用了之后就可以避免车子在每局的开始还保留上一局结束时的车头方向了,举个例子,大家在做图的时候把车头放在左边,这样第一局的车头是向着左边没错,但是一旦有人开了这辆车,并且在一局结束的时候把车头朝到右边了,那么在下一局的一开始,车头也就自动转向右边了,所以会乱套,这个教程里我讲的制作也会包括这个实体 了解了要素,我们就开始讲制作: 1. 制作车子(func_vehicle) 先用固体工具做好一辆车,这个大家可以自由发挥,不过要注意的是在制作车子的模型中,你的 top 视图(顶视图)里的车头必须是向左的!否则到时候别说我的爱车怎么乱跑...嘿嘿,我的例子是这样的: 然后加入必须的轴心体,用 origin 纹理贴上,轴心体的位置最好是车子中心,加上后你的车子就会围绕这个点转动了当然,有很多放的方法,注意轴心体放的前后左右距离还无所谓,大不了你的车就是围绕前面点后面点还是左边点右边点转,但是上下一定要掌握好,要不你很难掌握车子的高低,这个很难表达,介绍给大家一种我在用的方法,操作容易,而且不会出错,大家看到红色的就是轴心体: 大家看到,前后左右我是放在正中心的,上下呢就把它拉成和车子一样高,这样它的中心就一定在车子高度的正中心了,到时候计算起来就很简单咯! 制作完了,我们选上车子和轴心体,一起转化固体为实体 func_vehicle,这里要提到一点就是怎样确定你的爱车的长宽高,首先选中你的爱车,我们可以在 vhe/wc 的右下角看到这个实体的一些信息: 这里显示你的车子是:长168 宽104 高72 关于 func_vehicle 的一些设置: func_vehicle | 描述: 制作汽车的实体。该实体是需要轴心的实体。注意:该实体在制作的时候,在你软件的top视图里面,车头的方向必须是向左的。 | 健值: |
| 名称: | 给你的爱车取个名字,这是必须的 | 渲染属性: | 设置实体的渲染属性 | 开始路径点: | 就是你到时候要用到的第一个 path_track 的名称 | 移动声音: | 选项。选择实体运动时的声音。 | 车辆长度: | 写上长,我的例子里是168 | 车辆宽度: | 写上宽,我的例子里是104 | 离开路径点的高度: | 注意,这和上面的长宽不同,这个是设定该车子中点和起始路径点的距离。(中点:指轴心体高的中心点既然我们的方法中轴心体的高是和车子的高是一样的,那么也就是车子的高的中心点咯,简单的说就是车子的一半高。) 通常我是把路径点的中心正好放在地面上,那么如果你想正好让车底着地的话这里就只要写上你的车子的一半高就OK了,在我的例子里就是36,写多了车子陷下去,写少了浮在空中,这里提示下大家就可以利用浮在空中这一点来制作所谓的飞行器了,注意这样的飞行器不能上下运动,而且碰到地上的小坡会...哈哈,自己体会去! | 初始速度: | 设置爱车在游戏开始时的速度。这里一般应该是0。 | 移动速度: | 设定实体能够达到的最高速度。 | 伤害力: | 设置撞到玩家时的伤害值。 | 音量: | 设置爱车运动时发出的声音的大小。 | 拐弯时的倾斜角度: | 设置该实体在转弯时产生的左右倾斜的角度。建议不宜过大。 | 标记: |
| 不倾斜: | 转弯时将不会产生左右的倾斜。上面的键值“拐弯时的倾斜角度”设置无效。 | 不能控制: | 不能被玩家控制。 | 非固体: | 有质无形,看得见摸不着。 | 相关实体: | func_vehiclecontrols |
2.制作驾驶区(func_vehiclecontrols) 好了,做完了爱车,我们来接着做驾驶区,首先要明确的是它应该放在车子上,这样它就可以和你的爱车一起运动了,请不要自做聪明放在其他的地方,嘿嘿,还有不可见的我们一般给贴上 aaatrigger 纹理,给大家看看我的例子:
关于 func_vehiclecontrols 的一些设置: func_veiclecontrols | 描述: 游戏里不可见,规定一个区域,玩家在这个区域使用“e”键里面可以控制指定的func_vehicle实体。注意:这个实体是随目标实体一起运动的,一般放在你需要控制的func_vehicle实体的上面(玩家控制的时候可以随着一起运动),不要指望放在实体以外的其他地方,来个遥控指挥,他是不会工作的。 | 健值: |
| 车辆名称: | 写上你的爱车的名字 |
3. 路径点(path_track) 看了我一开始的介绍,大家应该了解了为什么要用它了,就是避免车子在每局的开始还保留上一局结束时的车头方向,这里我们要用到两个 path_track ,第一个就是你的爱车设置里的开始路径点,第二个相对第一个的方向就是你的爱车车头的方向,设置了他们之后,你可以把你的车子放在地图的任意地方,你进入地图会发现:每局开始,车子总是停在第一个 path_track 而朝向第二个 path_track ,两个路径点的距离不用考虑! 注意把路径点的中心正好放在地面上,这样就符合我们上面所说的车子的停放高度了,给大家看看我的例子: 这里给出两个 path_track 需要的设置 第一个 path_track 的设置: path_track | 描述: 点实体,路径点实体之一。在地图里,2个或2个以上的路径点相连就成了我们通常说的路径了。用该实体制作的路径使用于func_tracktrain等实体的方向定位和行驶路径。 补充:
我们一般把首尾相连的路径称为闭合路径。把不相连的称为开放路径,开放路径的第一个路径点我们称为开始路径点,最后一个称为结束路径点 | 健值: |
| 名称: | 和你的爱车设置里的开始路径点的名称相同 | 下一个路径点: | 就是第二个 path_track 的名称 | 引发的实体: | 输入你需要引发的目标实体的名称。游戏里当使用该路径的实体经过这个路径点时将引发这个目标实体。 | 第二路径点: | 指定备用的下一个和他相连的路径点的名称。当该路径点被引发时,实体将开向这里指定的路径点。就像生活中的火车变轨。 | 火车到死路时引发的实体: | 一般使用于开放路径的结束路径点。功能同“引发的实体” | 新的火车速度: | 当相关实体经过该路径点时,将以这里设置的速度继续前进。0为保持原有速度。 | 标记: |
| 禁用: | 实体经过时,将会停在该点,直到你引发该点才会继续前进。默认为继续前进 | 只引发一次: | 该路径点只能使用一次。 | 颠倒第一/二路: | 把“下一个路径点”和“第二路径点”的设置对换 | 禁用火车: | 火车到这里抛锚 | 相关实体: | func_tracktrain |
第二个 path_track 的设置: path_track | 描述: 点实体,路径点实体之一。在地图里,2个或2个以上的路径点相连就成了我们通常说的路径了。用该实体制作的路径使用于func_tracktrain等实体的方向定位和行驶路径。 补充:
我们一般把首尾相连的路径称为闭合路径。把不相连的称为开放路径,开放路径的第一个路径点我们称为开始路径点,最后一个称为结束路径点 | 健值: |
| 名称: | 和第一个 path_track 里的下一个路径点里的名字保持一致 | 下一个路径点: | 指定下一个和他相连的路径点的名称 | 引发的实体: | 输入你需要引发的目标实体的名称。游戏里当使用该路径的实体经过这个路径点时将引发这个目标实体。 | 第二路径点: | 指定备用的下一个和他相连的路径点的名称。当该路径点被引发时,实体将开向这里指定的路径点。就像生活中的火车变轨。 | 火车到死路时引发的实体: | 一般使用于开放路径的结束路径点。功能同“引发的实体” | 新的火车速度: | 当相关实体经过该路径点时,将以这里设置的速度继续前进。0为保持原有速度。 | 标记: |
| 禁用: | 实体经过时,将会停在该点,直到你引发该点才会继续前进。默认为继续前进 | 只引发一次: | 该路径点只能使用一次。 | 颠倒第一/二路: | 把“下一个路径点”和“第二路径点”的设置对换 | 禁用火车: | 火车到这里抛锚 | 相关实体: | func_tracktrain |
就这样,我们完成了爱车的制作,赶快到编译出来试试,呵呵,再来看看我的例子(游戏中的顶部视图):
[ 本帖最后由 Simen.sllove 于 2007-11-20 10:08 编辑 ] |