CSGO制图经验分享4 - 模拟R6小车的方法
cs:source吧
全部回复
仅看楼主
level 8
工口地瓜 楼主
r6指的是一款名叫《彩虹六号:围攻》的游戏。小车是游戏中的一种工具,上面有摄像头。进攻方通过操控小车移动,以探测敌人的位置。
最近沉迷r6,我就想有没有可能在CSGO中模拟出R6的小车呢。抱着试一试的心理做了一下,我就找到了模拟R6小车的方法。当然,不包括扫描敌人的功能。
先上视频。具体方法放楼下。

2018年04月05日 09点04分 1
level 8
工口地瓜 楼主
玩法:玩家对着按钮按E后,画面切换为小车的视角,WASD控制小车运动,鼠标右键控制小车跳跃,跳跃有3秒的冷却时间。小车被攻击后会损坏。这个小车功能如果结合其他具体的地图,可能会变得很有意思。
在做小车之前,要先大概了解CSGO中如何实现可控载具的制作。可控载具的制作方法有很多,CTX和geri43还有香蕉网上的一些大佬做的载具风格是各具特色的,感兴趣的人可以去反编译看看他们的小车的工作原理。下图是不需要使用VScript即可实现的可控载具的基本结构图。使用这个方法,不仅可以做出车,也可以做出船。这也是CSGO中做载具最简单但是BUG也最多的一种方法。(捂脸)
上图方式的载具,通过差速来转向,说白了就是在车体左右施加不同大小的力,使得合力方向出现偏移,从而改变车辆的方向。
那么就先来做R6小车的本体吧。如下图,先做车体,R6小车近似一个圆管,但为了保持平衡,我还是将其做成四轮车,然后将前两轮的部分做成透明,使得其看起来就像R6中的两轮小车一样。
参数如图设置即可,不妥的话可以自己调整。spawnflags勾选【Generate output on +USE】和【Don't take physics damage】。
如图,接着做出4个轮子,前两个轮子改用透明贴图。每个轮子起一个名字,并用phys_hinge将其与车体实体连接。注意,轮子和车体连接处的中心要对准,然后铰链的中心要置于轮子和车体的连接点。轮子同样使用func_physbox实体,flags勾选【Generate output on +USE】。
然后如图,在原本4个铰链的同样的位置再分别放上4个phys_thruster(推进器),左侧的推进器方向往右,右侧的推进器方向往左。左前轮推进器和右后轮推进器起相同的名字,右前轮推进器和左后轮推进器起相同的名字。前轮推进器力度均设为150,后轮推进器力度均设为100。对这里有什么不解的话请看载具结构图。然后在车后方的中央放置2个推进器,方向分别为前后,力量均为300。所有的推进器都要起名字,接触对象都设为车体实体,flags都勾选【Apply Force】、【Apply Torque】、【Orient Locally】、【Ignore Mass】。
如图,在车头前方正中心放置一个phys_keepupright,方向指向车辆正中心,这个实体用于平衡特定实体的方向,在这里是为了防止翻车。
如图,以车体中心为中心创建一个trigger_push,命名为pusher,class info如图设置,flags仅勾选【Physics Objects】。
然后如图,在可见的小车前上方中央放置一个point_viewcontrol实体,命名为cam1,flags勾选【Infinite Hold Time】。这个摄像头用来实现R6小车的摄像头功能。
然后放置一个logic_script实体用于连接脚本,命名为script。放置一个logic_timer,将[Refire Interval]设为0.1秒,输出如下图。
然后创建一个func_button作为启动小车的按钮,当然如果你要模拟R6的话,可以将按钮改成trigger_multiple或者logic_auto。命名为t_vehicle_button,Outputs如图,[Delay Before Reset]设为-1,flags勾选【Don't move】,【Toggle】,【Use Activates】。
然后如图,在任意地方放置一个game_ui实体,Outputs如图设置。flags勾选【Freeze Player】,【Hide Weapon】,【+Use Deactivates】。Outputs如下设置,请将图中各推进器名改成你的具体的推进器的targetname。
还有一点要补充的,最好能加个logic_auto,在OnMapSpawned时触发时向t_vehicle_base实体输入DisableMotion。
VScript脚本内容放楼下。
2018年04月05日 09点04分 2
level 8
工口地瓜 楼主
脚本内容如下:
例子中有很多实体的设置没有给出截图或者具体的targetname,是因为我认为那些并非必要因素,各位看官有足够的能力通过类推来判断具体应该怎么做。因为这些targetname各位可以随喜好自己起,我不想做太多限制。本例子中的实体targetname:
左前轮: wheel_front_left_1
左后轮: wheel_rear_left_1
右前轮: wheel_front_right_1
右后轮: wheel_rear_right_1
左向推进器: t_vehicle_left_thrusters
右向推进器: t_vehicle_right_thrusters
前向推进器: t_vehicle_thruster_forward
后向推进器: t_vehicle_thruster_backward
===================================
再插几张截图
2018年04月05日 09点04分 3
level 7
interesting
2018年04月05日 09点04分 4
level 12
dd
2018年04月12日 06点04分 5
level 11
小车还可以加标记敌人等功能[滑稽]
2018年05月14日 08点05分 7
level 6
大佬能做战斗机不,起源有张战斗机的图
2018年05月16日 13点05分 8
没试过,有时间研究一下
2018年05月17日 00点05分
1