@ターゲット（カメラ効果）
--track0:和,-5000,5000,0
--track1:積(％),-1000,1000,100
--track2:時間差ms,-10000,10000,0
--track3:焦点距離,-5000,5000,0
--dialog:対象レイヤー,layP="@1";X/chk,checkX=0;Y/chk,checkY=0;Z/chk,checkZ=0;Z軸回転/chk,checkR=0;カメラ位置上限,jougen=10000;カメラ位置下限,kagen=-10000;


layp=string.gsub(layP,"@","")
layn=layp

if(string.match(layP,"@"))then
	layn = obj.layer+layp
end

offtime=obj.track2
DD=obj.track3
max=jougen
min=kagen

--valueの上限と下限をカットする関数
function cut(value,Max,Min)

	local v

	if(value>Max)then
		v=Max
	
	elseif(value<Min)then
		v=Min
	else
		v=value
	end

	return v
end

 
p = obj.track0
k = obj.track1/100

t2=obj.time+offtime/1000
t2=cut(t2,obj.totaltime,0)

--vを求める

	vx=p+k*obj.getvalue("layer"..layn ..".x",t2)
	vy=p+k*obj.getvalue("layer"..layn ..".y",t2)
	vz=p+k*obj.getvalue("layer"..layn ..".z",t2)
	vrz=p+k*obj.getvalue("layer"..layn ..".rz",t2)

--上限をカット

	vx2=cut(vx,max,min)
	vy2=cut(vy,max,min)
	vz2=cut(vz,max,min)
	vrz2=cut(vrz,max,min)

--vを反映値に適用

cam = obj.getoption("camera_param")

if(checkX==1)then
	cam.x=cam.x+vx2
end

if(checkX==1)then
	cam.tx=cam.tx+vx
end

if(checkY==1)then
	cam.y=cam.y+vy2
end
if(checkY==1)then
	cam.ty=cam.ty+vy
end

if(checkZ==1)then
	cam.z=cam.z+vz2
end
if(checkZ==1)then
	cam.tz=cam.tz+vz
end
if(checkR==1)then
	cam.rz=cam.rz-vrz2
end

	cam.d=cam.d+DD

--camを反映
obj.setoption("camera_param",cam)	