创建一个动态模型实体,也就是 prop_dynamic
选中 World Model 属性
点击浏览
就会打开模型浏览窗口
在左下角输入过滤字符 arm
就会出现很多 arm 相关的模型
在右上角这个视图中
按住鼠标左键并拖动可以旋转模型
按住鼠标右键并上下拖动可以缩放模型
我们找到 arm64x64_interior 模型并选中它
它是比较常用的 64 面板的支撑臂
在右下角的第二个选项卡中
列出了该模型的全部动画
点击它们就可以预览动画
选好模型后就可以直接点 OK 了
点击应用就可以看到相应的模型了
接下来编译地图看看效果
它是没有碰撞体积的
接下来更改它的默认动画
在属性面板中选择 Model 选项卡
可以在这个输入框中找出我们需要的动画
比如这个 64_out_straight
把它复制一下
然后到 Class Info 选项卡中
找到 Default Animation 属性(默认动画)
粘贴 应用
再来看看效果
可以看到默认动画是一直循环播放的
我们再选一个其他动画
BindPose 是固定姿势
可以看到这个动画是不动的,即静态动画
也就是说模型动画大致分两种:动态动画和静态动画
一般情况下默认动画都会设置成静态动画
接下来我们增加一个地板按钮 prop_floor_button
给按钮增加输出
触发条件选被按下时
然后选目标名称
我们还需要给支撑臂模型设置一个名称
随便设置一个名称,例如 arm01
再回到按钮的输出这
设置目标名称为 arm01
目标输入选 SetAnimation
然后参数填具体的动画名称
切换到支撑臂模型的 Model 选项卡
选择 64_out_straight 这个动画并复制它
回到按钮的输出,粘贴到参数中
再进游戏看看效果
踩下按钮后,模型开始播放动画,接着又回到了默认动画
所以我们还需要一并修改它的默认动画
再添加一个输出,用来改变默认动画
目标输入选择 SetDefaultAnimation
然后复制一下 64_idle 这个动画
以 idle 结尾的动画都是静态动画
把它粘贴到按钮的第二个输出的参数中
然后给这个输出加个 0.1 的延时
编译运行一下
现在按钮被按下时的效果是正常了
但是按钮弹起时没有效果
接下来给按钮添加弹起时的输出
同样的,播放的动画是 64_in_straight
默认动画设置为 BindPose
别忘了给默认动画设置 0.1 秒的延时
现在模型的动画效果总算正常了
添加一个方块
现在给支撑臂添加面板
更换一下贴图
拉出一块长宽都为 64 单位的笔刷
高度需要调整为 2 个单位
先缩小网格,然后就可以调整出 2 个单位的高度了
面板并没有跟随支撑臂一起运动
先选中笔刷,然后把它转为实体
更改其类别为 func_brush
然后设置它的 Parent 属性
选为 arm01 也就是支撑臂模型
然后在后面接着输入一个英文逗号
特别注意,逗号只能是英文的逗号不能是中文的逗号
这两者是有区别的,根本不是同一个字符
再输入 panel_attach
这是固定写法,它会报红,不用管
面板能够跟随支撑臂一起运动就说明成功了
我们需要先在地板上挖一个坑
单击选中地板
在左侧工具栏中选择裁剪工具
定位到顶视图中合适的地方
坑的大小为 192x192 单位
调整一下适合的网格
然后在要切割的地方拉出一条线
此时地板会被这条线分为白色和红色两部分
白色代表被保留下的部分,红色代表被删除的部分
此时再次点击左侧的裁剪工具可以进行切换
我们把它切换为两边都是白色,即切割后的两部分都保留下
按下回车键,此次切割就生效了
再次在 192 单位处拉出一条横线
按下回车键,再按 Esc 键退出裁剪模式
此时地板被切割成 4 部分
如果你的地板被切成 4 部分后却不能单独选中
请右键它,选择 Ungroup 取消组合即可,快捷键是 Ctrl+U
接下来把切割出的 192 单位正方形往下移动 64 个单位
但是产生了缝隙,我们需要把缝隙补上
更换一个贴图
选择笔刷创建工具
创建一块笔刷堵住缝隙
还有另一个
再选择纹理贴图工具
右键单击笔刷表面即可更换贴图
这个坑就做好了
长宽为 192 个单位,深度 64 个单位
接下来创建动态模型 prop_dynamic
设置它的模型
这次我们只能使用 armliving64x64 这个模型
看一下它的动画
我们需要用到的是 9arms_destroyed 开头的动画
一共有 9 种类型的动画
先选 01 的,以 idle 结尾的动画
复制它
在默认动画里填上
调整一下位置
给它设置一个名称,如 arm01
把它复制一份,复制操作是按住 Shift 键,再用鼠标拖动
把名字改为 arm02,默认动画也改成 02 的
接下来是一样的,继续复制,修改名字和默认动画
一直到 09
要注意调整它们的摆放位置
在这个过程中,你会发现之前创建的模型消失不见了
其实并没有,它们只是看起来重合到一起了
这应该是个 Bug,不过不要紧,并不影响我们的操作
我们只要把文件保存一下
再关闭它
再重新打开
就会看到它恢复正常了
这 9 个模型的摆放顺序是这样的
它与小键盘上的数字按键顺序是一样的
接下来给支撑臂创建面板
更换一个贴图
选择笔刷创建工具
面板的长宽都是 192 单位
调整高度为 2 个单位
接下来创建触发器
更换贴图为 Trigger 贴图
拉出一块较大的区域
高度也要超过 192 单位
将其绑定到实体
更改类别为 trigger_multiple
给它添加输出,让其触发模型动画
双击这个输出可以跳转到对应的目标属性面板
在这里选择动画,复制 9arms_destroyed_01
再双击这个输入跳转回触发器的属性面板
填入动画参数
然后选择这条输出
点击复制
然后粘贴 8 份
改成 02
03
04
09
再增加设置默认动画的输出
选择 9arms_destroyed_01_idleend 并复制
粘贴
将延时设置为 0.1
同样再复制 8 份
依次更改序号
输出就添加完毕了
对了,还需要将面板跟随支撑臂一起运动
将面板绑定到实体,再改为 func_brush
设置 Parent 属性
这 9 个随便哪个都可以
然后输入一个英文逗号
panel_attach
本期就到这里了,最后来看一下对比效果


Back to home | File page

Subscribe | Register | Login | N