Проблемы с пылью

Программирование на Юнити.

Проблемы с пылью

Сообщение Zanilokon 26 сен 2011, 17:51

Решил сделать красивую пыль ибо патрклами не очень красиво....
Нашёл вот это:http://technology.blurst.com/off-screen-particle-optimization/
И сделать не получилось [curved_hands]
Помогите пожалуйста разобраться со скриптом
Вот скрипт который у меня получился:
Синтаксис:
Используется javascript
static var downsampleFactor : int = this.offScreenParticlesOptions.downsampleFactor;
static var destination = 10;
static var source = 10;
static var particlesRT : RenderTexture = RenderTexture.GetTemporary(Screen.width / downsampleFactor, Screen.height / downsampleFactor, 0);
static var ppCamera : Camera = PostProcessingHelper.GetPPCamera();
static var camera : Camera;
        ppCamera.depthTextureMode = DepthTextureMode.None;
        ppCamera.cullingMask = this.offScreenParticlesOptions.layerMask.value;
        ppCamera.targetTexture = particlesRT;
        ppCamera.clearFlags = CameraClearFlags.SolidColor;
        ppCamera.backgroundColor = Color.black;
private static var ppCameraGO:GameObject;
static function GetPPCamera():Camera
{
   if(!ppCameraGO) {
        ppCameraGO = new GameObject("Post Processing Camera", Camera);
    ppCameraGO.camera.enabled = false;
    ppCameraGO.hideFlags = HideFlags.HideAndDontSave;
   }

   return ppCameraGO.camera;
}      
function Awake(){
        this.Camera.depthTextureMode = DepthTextureMode.Depth; 
}
static function PostProcessingHelper (){
    Shader.SetGlobalVector("_CameraDepthTexture_Size", Vector4(this.camera.pixelWidth, this.camera.pixelHeight, 0.0, 0.0)); // some data about the depth buffer we need to send the shaders
        depthCamera.RenderWithShader(Shader.Find("Hidden/Off-Screen Particles Replace"), "RenderType");
        var blendMaterial:Material = PostProcessingHelper.GetMaterial(Shader.Find("Hidden/Off-Screen Particles Composite"));
        var texelOffset:Vector2 = Vector2.Scale(source.GetTexelOffset(), Vector2(source.width, source.height));
        Graphics.BlitMultiTap(particlesRT, source, blendMaterial, texelOffset);
        RenderTexture.ReleaseTemporary(particlesRT);
        Graphics.Blit(source, destination);
}
Добавить zameran123 в Skype
Zanilokon
UNIт
 
Сообщения: 105
Зарегистрирован: 25 июл 2011, 06:28

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8