3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 4769|回复: 3
打印 上一主题 下一主题

[心得] ARMA镜头+箭头脚本

[复制链接]

268

主题

2709

帖子

4301

积分

版主

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

贡献度
610
金元
18411
积分
4301
精华
2
注册时间
2008-3-20
跳转到指定楼层
主题
发表于 2010-7-15 23:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
再给你个网址,英文的,没翻译~都是动作,最先面的briefing动作就能做出像我任务一开始的效果,这些动作只要用name switchMove ""执行就行了:
http://community.bistudio.com/wiki/ArmA2:_Moves

镜头脚本

  现在我们开始进入镜头脚本的学习,这是个很让人兴奋的单元。大家将会在这里学会如
何利用脚本来控制镜头!你准备向影视大师的方向挺进!

  首先先了解一下镜头到底是怎么回事!我们可以分析一下:镜头一般有两个点,一个是
镜头的起点,一个是焦点,在日常生活中都使用过照相机,应该都有这个体验。对于摄影技巧
来说调焦、移动镜头、跟踪物体应该也有点体会,如果有这些东西的正确概念,我想结合前面
脚本语法的学习,掌握镜头脚本的编辑是非常快的。

  现在来看第一个脚本

Fcam.sqs

_Object = _this select 0

_camx = getpos _Object select 0
_camy = getpos _Object select 1
_camz = getpos _Object select 2

; 建立一个离目标物体5个单位的镜头
_cam = "camera" CamCreate [_camx,_camy+5,_camz+1]

_cam CamSetTarget _Object

; 设定镜头效果
_cam CameraEffect ["Internal","Back"]

; 确定镜头的改变
_cam CamCommit 0

~10


;关闭镜头

_cam CameraEffect ["Terminate","Back"]
CamDestroy _cam
Exit

  脚本的语法我不再熬述。现在首先要提到的是镜头的定位,在这个脚本中首先声明了一
个物体的变量,这个物体就是要被拍摄的物体,偌大一张地图我们无法确切的知道其明确的坐
标位置,所以首先要通过一个命令获得该物体的坐标数据,从而再明确镜头的位置。getpos命
令的功能就能解决这个问题,它能在地图的任何位置截获物体的坐标值,并且将返回得值赋予
新的变量,一个物体的空间定位无非是X/Y/Z三个数值,在返回过程中getpos命令依次返回x/
y/z坐标数值给新的变量,所以在每次getpos关键字的使用过程中序号必须从0开始,否则程序
会出现偏差。
  物体定位后,我们就可以开始架设镜头了,首先先建造镜头,CamCreate命令可以完成这
个任务,当然镜头的建造就已经确定了镜头的起始点。大家注意到CamCreate关键字前有"cam
era"参数,CamCreate关键字有两个参数可以使用,一个就是"camera",另一个是"seagull"参
数。这里使用的是镜头,所以必须使用"Camera"参数,用了"seagull"参数就会看到一只海鸥
在飞(莫名其妙的参数)。在CamCreate关键字左边的括号中的变量是用来定位镜头位置的坐
标轴的,在变量的使用中可以直接进行运算,在这个脚本中,就是把镜头设置在离物体y轴5个
单位、离地1个单位的位置上(z轴),这里使用的变量就是前面刚刚用getpos给予的新变量。
当然将定位的数值要赋予新的变量。
  镜头起始点设好后,就要设置镜头的焦点。它的关键字是CamSetTarget,它的格式是:
镜头变量 CamSetTarget 拍摄焦点变量
  这里的镜头变量在建造镜头时已经赋值,拍摄焦点变量也在脚本的开头已经声明。
  设置镜头的特效(CameraEffect)是一个和奇怪的关键字,虽然有很多参数,但我试过只
有"Internal""Terminate"两个参数可以使用,其它都是没有显示的……!在镜头脚本中镜头
特效是一定要使用的,否则你什么也找不到!
  CamCommit关键字是一个很重要的关键字,由于这个脚本没有移动镜头的功能,如果遇到
镜头移动,CamCommit后面所设置的数值就是镜头从一个点移动到另一个点所要的时间,如果
设置为零,那么就变成镜头的切换,大家在实际运用中可以试试。
  在脚本的最后就要关闭镜头,使用CamDestroy关键字解决,记住在使用这个命令前首先
要把镜头特效关闭,并且在镜头脚本中一定要使用这个关键字结束镜头的运行!

闪点行动》脚本编辑(七)



--------------------------------------------------------------------------------
时间:2002-3-22  来源:DF VS OFP  作者:DF3D  阅读228次



镜头脚本2

  现在就开始在任务中使用这个脚本!按以下方法做
  在地图上创建一个人物,然后打开这个人的属性栏,在初始化区域输入以下文字:
[this] exec “fcam.sqs”
  现在运行这个任务程序就会按照脚本的规定执行:
  首先脚本通过GETPOS关键字捕捉人物的位置,并将他的坐标值提供给下面的脚本使用,
然后通过CAMCREATE在离物体5个单位的地方创建镜头,镜头的坐标就是GETPOS所提供的!再由
CAMSETTARGET设置镜头焦点,焦点就是人物本身。接着是设置镜头效果和镜头持续时间,10秒
后关闭镜头特效,拆除镜头结束脚本。
  几点经验:getpos命令固然可以精确的返回物体的坐标数值!但这样程序会搞得很复杂
!我们可以这样做,先做一个空白任务,然后插入所要拍摄的物体,存盘退出,打开刚才编辑
的sqm扩展名的文件,很容易得就找到插入物体的坐标,把这个坐标数值(xyz)代入脚本所
需要的位置,这样就可以不再使用getpos关键字而使脚本简化!还有camsetpos关键字的使用
,镜头创建好以后不能老在一个地方呆着,这个命令可以改变起始镜头的位置配合camcommit
关键字和时间的长短控制镜头的切换和移动。
  

  现在知道镜头是如何生成并工作了吧,下面让我们玩得更绝一点!


Camera.sqs

_CameraMan = _this select 0
_Actor = _this select 1

; 获得镜头位置
_CameraPos = getpos _CameraMan
_cmx = _CameraPos select 0
_cmy = _CameraPos select 1
_cmz = _CameraPos select 2

; 创建镜头
_cam = "camera" CamCreate [_cmx,_cmy,_cmz+2]

; 设置焦点兵打开特效
_cam CamSetTarget _Actor
_cam CameraEffect ["Internal","Back"]

; 设置动态镜头
_cam CamCommit 0
@CamCommitted _cam

; 进入望远镜视点
CutRSC ["Binocular",&quotlain Down"]
_Zoom = 0.7

#ZoomIn
; 放大
_zoom = _zoom - 0.01
; 设定放大区域
_cam CamSetFov _zoom
; 应用改变
_cam CamCommit 0
~0.01
? _zoom < 0.1 : goto "ZoomOutWait"
goto "ZoomIn"

#ZoomOutWait
; 单位做俯卧撑
_Actor PlayMove "FXStandDip"
~8

#ZoomOut
; Zoom out
_zoom = _zoom + 0.01
_cam CamSetFov _zoom
_cam CamCommit 0
~0.01
? _zoom > 0.7 : goto "Done"
goto "ZoomOut"

#Done
~2
; 将控制权交给游戏者,退出望远镜模式
CutRSC ["Default",&quotlain Down"]
_cam CameraEffect ["Terminate","Back"]
CamDestroy _cam
Exit

  进入任务编辑器,在地图上插入两个人物,适当将两者的距离调整的远一点!进入两人
的属性框,其中一个人的名字为ap,另一个人的初始区域输入一下数据:
[ap, this] exec “camera.sqs”
  关于脚本的结构和流程这里不在详述,主要谈谈这个脚本的技巧和几个命令。首先看到
或的物体坐标的另一种方法!getpos将返回得值直接赋予新的变量,然后再由这个变量分离出
xyz的坐标值,和前面的脚本有异曲同工之妙。
  @CamCommitted是让程序知道上一个镜头已经运作完毕,已做好下一步命令的准备。
  CutRSC关键字可以说是遮板使用命令,这里得遮板是望远镜镜头,在方括号中用引号打
出的就是,和titletext一样也有角度设定,具体用法请参看脚本命令清单。
  CamSetFov关键字是控制镜头的缩放,范围控制在0 - 〉1的范围内,这里的初始值为0.7
,在第一次循环中每次建区0.01,这样镜头就放大了,当镜头放大到接近0.1的时候,我们可
以看到远处的士兵开始做俯卧撑。士兵俯卧撑做好后就进入镜头缩小程序段,镜头慢慢恢复普
通视角,然后将控制权还给游戏者,关闭镜头遮板、特效和镜头,退出脚本。
起始镜头脚本的编辑本身不是什么复杂的事情,问题是镜头的架设和移动在脚本编辑中不可
能马上看到,要凭借自己的感觉去做,从某种意义上来说是一件相当抽象的事!所以经常注意
影视作品中镜头的使用,会给自己的空间感带来很多好处。

下载好脚本后,请放到:D:My DocumentsArmA 2 Other Profiles你的IDmissions

fcam.Desert_E.rar

1.24 KB, 下载次数: 26

rar

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-5-27 17:43 , Processed in 0.033394 second(s), 18 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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