纳金网

标题: unity 震屏幕效果 [打印本页]

作者: 晃晃    时间: 2011-9-13 08:33
标题: unity 震屏幕效果
unity3d震屏幕只需要抖动摄像机就好



但是我拿它做2d,我的背景都是guitexture,修改camera的position不起作用



经过摸索,发现一个办法可以做到抖动屏幕效果



就是修改camera的rect属性,当然震完了需要改回来,(0,0,1,1)



下面的js代码提供了静态的抖动摄像机的函数











var shakeTime : float = 0;



var fps : float = 20;



var frameTime : float = 0;



var shakeDelta : float = 0.005;



var cam : Camera;







function Update () {



if(shakeTime > 0)



{



shakeTime -= Time.deltaTime;



if(shakeTime <= 0)



{



cam.rect = Rect(0,0,1,1);



Destroy(this);



}



else



{







frameTime += Time.deltaTime;



if(frameTime > 1.0 / fps)



{



frameTime = 0;



cam.rect = Rect(shakeDelta * ( -1.0 + 2 * Random.value), shakeDelta * ( -1.0 + 2 * Random.value), 1, 1);



}



}



}



}







static function ShakeCamera( seconds : float, pixelDelta : int)



{



var js : js_shakeCamera = Camera.main.gameObject.AddComponent("js_shakeCamera");



if(js)



{



js.cam = Camera.allCameras[0];



js.shakeTime = seconds;



js.fps = 30;



js.shakeDelta = pixelDelta;



if(Screen.width > Screen.height) js.shakeDelta /= Screen.height;



else js.shakeDelta /= Screen.height;



}



}

作者: Asen    时间: 2011-9-14 08:42

作者: 奇    时间: 2012-3-7 23:31
不会吧,太恐怖了

作者: 彬彬    时间: 2012-3-8 17:15

作者: 奇    时间: 2012-5-14 23:24
灌水。。。

作者: 晃晃    时间: 2012-8-28 00:20
好`我顶``顶顶

作者: 奇    时间: 2013-2-1 23:35
非常感谢,管理员设置了需要对新回复进行审核,您的帖子通过审核后将被显示出来,现在将转入主题

作者: 奇    时间: 2013-2-26 23:21
再看一看,再顶楼主





欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5