Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

[V2 RELEASED!] CTAA NXT V2 ' CINEMATIC TEMPORAL ANTI-ALIASING ' PC & VR

Discussion in 'Assets and Asset Store' started by LIVENDA_LABS, Jan 29, 2018.

  1. niflying

    niflying

    Joined:
    Jul 11, 2012
    Posts:
    82
    Hi, I was wondering if CTAA work with consoles like xbox, ps4.
    aslo my project is a HDRP game. How long to wait the CTAA HDRP version?
     
  2. Nexusmaster

    Nexusmaster

    Joined:
    Jun 13, 2015
    Posts:
    63
    Hi, I'm also waiting for the CTAA HDRP update, how long will it take? Thanks!
     
    iceb_ likes this.
  3. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    474
    Any update on HDRP?
     
    iceb_ likes this.
  4. cdmpants

    cdmpants

    Joined:
    Apr 8, 2012
    Posts:
    58
    I'm also wondering about console and HDRP support.
     
    iceb_ likes this.
  5. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
  6. tortillaguy

    tortillaguy

    Joined:
    Sep 26, 2013
    Posts:
    3
    Hi, I bought this asset specifically for the "Full HDRP support is coming very soon!" statement in the description of the asset. Can you please give us a date when this update is scheduled? Many users like me are moving up to the new excellent HDRP standard and we need support for it to be able to benefit from this asset.
     
    iceb_ likes this.
  7. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    75
    Has this asset been abandoned?
     
  8. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,872
    I am not going to speculate, ( but I am ! ) I won't be surprised if this asset is abandoned, (or at least been put aside) by the dev. This is what I was trying to warn people about this particular developer. They have history of abandoning their asset before and never full fill their upgrade promise ( at least to me ) and been operating like this before. I tried to warn people, and even contacted Unity about their shady business but oh well...
     
    Mark_01 likes this.
  9. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    6,240
    just adding note:
    i've used this in many projects and its perfect for what it promises to do.
    shouldnt count on "coming soon" lines anywhere, just see unity features.. often delayed for years, from coming soon.
     
    Mark_01 and WildStyle69 like this.
  10. DGordon

    DGordon

    Joined:
    Dec 8, 2013
    Posts:
    489
    Abandoned? Want info on hdrp like everyone else.
     
  11. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    507
    I guess they got tired of being asked to deliver what they promised.
     
  12. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,872
    For their last Screen Space Reflection asset, it did not work as advertised, and when I contacted them, they said the update was coming so it does work, but they abandoned their asset and never refunded to me when I requested them. Unity themselves recognized this and admitted it and they contacted this developer about it but they also got ignored. The forum for the Screen Space Reflection was locked up and removed for the customer neglect. Couple of months later they came up with this AA asset and, then Unity promotes it in their asset store, which I could not understand given their history on it. I can understand the assets do get deprecated. But you should not falsely lead customers and promise one thing to make them purchase the asset and then abandon it without refunding it.
     
  13. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    507
    Wow

    I purchased this directly from them during a sale. $350 down to $35 or something.
    Was told it was a new special version, but was sent the same version as the asset store had.
    Was promised several times I would get the updated version but never did.
    Was promised a key so I could get updates through the asset store, also several times.
    It never came. I quit asking.
    I wish I had read the forum before purchasing and I would have seen a long history of promises never fulfilled.
    Live and learn.
    I will never trust this company again and I always check reviews and forums before purchasing now.

    so I can at least thank them for that. o_O
     
    sirxeno likes this.
  14. WildStyle69

    WildStyle69

    Joined:
    Jul 20, 2016
    Posts:
    291
    I understand all the unhappy people with this asset provider, and that they've failed to deliver promises. Plus the support seems terrible.

    That said - I bought the product for my VR project, an older version and have been pretty happy with the result and performance. I've not found another solution that is any better. Have any of you people complaining found a better solution? I'm interested as I'd like to try it if you have.. thanks!

    // Wildstyle
     
    Mark_01, dsilverthorn and Akshara like this.
  15. dsilverthorn

    dsilverthorn

    Joined:
    May 14, 2017
    Posts:
    507
    I agree with you. It is only their professionalism with which I disagree. Their website is still up and they still list the asset, but as we know it is depreciated. Since mine was bought through their website, I only have the original emailed dead link and have to preserve the download from last year. But I've kept using it, since I did pay for it and it does seem to work well. I hate seeing good work get ruined by poor customer service.

    I've just moved up to 2019.4 for a new project and have not tried to load the old version yet. I do hope it still works since I haven't found a replacement yet.

    I accepted this as a no support asset, and I have a few of them that work great but no help is available for issues.
    I figure if I can fix the issues I run into, it only helps me in the long run.

    Lately I just use post processing, but will be trying to bring in CTAA to see if it works still. Keeping my fingers crossed.
     
    Mark_01 and Akshara like this.
  16. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    309
    I have been playing with HDRP and its TAA completely eliminated edge flickering without degrading (in fact increasing) quality for me. However, HDRP performance was not good for my project. I am using URP and I have read that they are going to have TAA for URP as well... Those who can afford to use HDRP for VR I'd recommend you try out TAA.
     
    mikerz1985 likes this.
  17. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
    I almost have CTAA working on URP, it honestly didn't take much effort to convert it to a renderer feature. If I were to post the renderer feature script I wouldn't be supporting it and don't care to port any of the features I don't use but reinstating them would be pretty trivial. I have a dependency on https://github.com/Kink3d/kMotion, this is because I don't want to roll my own motion vector solution and URP doesn't natively draw them yet.

    The only missing part is when I should be jittering the projection matrix of the camera. Currently, I jitter it in ScriptableRenderPass.Execute, but I'm fairly sure this is far too early. Once I have worked out when I should jitter the projection (Ideally I want to only render this effect with the changed projection) the effect will be working as it does in Built-In Renderer, just with the added efficiencies of URP.

    I'm happy for anyone to give input on how to tackle the projection jitter, its the last puzzle piece.

    I'm a bit concerned that the CTAA dev will not like the fact that a refactored version of his code would be published, but this is currently looking like vapourware. Hopefully, I can share it here so everyone can if they wish to use CTAA on URP.

    I'd hope they would just come back and put the days work in that I have to sort this out for their customers.
     
    dsilverthorn and mikerz1985 like this.
  18. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
    Here is the script as promised, wasn't really so hard to implement. A lot of the issues came from the Shader being obfuscated so it made it hard to understand what was going on, but this works! CTAA in URP! This is also pretty much the second TAA for URP (that I know of), with the other not really being workable.

    You do require the kMotion feature too for motion vectors, it's free here: https://github.com/Kink3d/kMotion
    I have a fork here https://github.com/CianNoonan/kMotion my fork recalcs the historical VP matrix with the historical view and current projection to reduces issues resulting from the jittering. This is a toggle on the feature, enable to use the fix.

    If the CTAA developer doesn't come back to life maybe the shader files could be dumped too as it is abandonware... Though I don't want to do anything silly.

    This is written for URP 9, to fix it for URP 8 just replace the OnCameraCleanup with FrameCleanup.

    EDIT: You need to change the shader files to read from _MotionVectorTexture rather than _CameraMotionVectorsTexture, this is because kMotion used a different global variable name for the map, kinda a pain but its a trivial change
    Code (CSharp):
    1. //Refactor of CTAA c# to URP render feature.
    2. using UnityEngine;
    3. using UnityEngine.Rendering;
    4. using UnityEngine.Rendering.Universal;
    5.  
    6. namespace CTAA
    7. {
    8.     public class CTAAFeature : ScriptableRendererFeature
    9.     {
    10.         [Range(3, 16)] public int TemporalStability = 12;
    11.         [Range(0.001f, 4.0f)] public float HdrResponse = 0.001f;
    12.         [Range(0.0f, 2.0f)] public float EdgeResponse = 1.5f;
    13.         [Range(0.0f, 1.5f)] public float AdaptiveSharpness = 0.34f;
    14.         [Range(0.0f, 0.5f)] public float TemporalJitterScale = 0.5f;
    15.         public bool AntiShimmerMode = false;
    16.  
    17.         CTAAPass _ctaa;
    18.  
    19.         public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
    20.         {
    21.             _ctaa.TemporalStability = TemporalStability;
    22.             _ctaa.HdrResponse = HdrResponse;
    23.             _ctaa.EdgeResponse = EdgeResponse;
    24.             _ctaa.AdaptiveSharpness = AdaptiveSharpness;
    25.             _ctaa.TemporalJitterScale = TemporalJitterScale;
    26.  
    27.             _ctaa.Target = renderer.cameraColorTarget;
    28.             renderer.EnqueuePass(_ctaa);
    29.         }
    30.  
    31.         public override void Create()
    32.         {
    33.             _ctaa = new CTAAPass
    34.             {
    35.                 renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing
    36.             };
    37.         }
    38.     }
    39.     public class CTAAPass : ScriptableRenderPass
    40.     {
    41.         public RenderTargetIdentifier Target;
    42.  
    43.         public int TemporalStability = 12;
    44.         public float HdrResponse = 0.001f;
    45.         public float EdgeResponse = 1.5f;
    46.         public float AdaptiveSharpness = 0.34f;
    47.         public float TemporalJitterScale = 0.5f;
    48.         public bool AntiShimmerMode = false;
    49.  
    50.         readonly Material _ctaaMat;
    51.         readonly Material _ctaaEnhanceMat;
    52.         public CTAAPass()
    53.         {
    54.             firstFrame = true;
    55.             swap = true;
    56.             frameCounter = 0;
    57.  
    58.             _afterPreEnhace = Shader.PropertyToID("_afterPreEnhace");
    59.  
    60.             _ctaaMat = CoreUtils.CreateEngineMaterial("Hidden/CTAA_PC");
    61.             _ctaaEnhanceMat = CoreUtils.CreateEngineMaterial("Hidden/CTAA_Enhance_PC");
    62.  
    63.             RenderPipelineManager.beginCameraRendering -= RenderPipelineManager_beginCameraRendering;
    64.             RenderPipelineManager.beginCameraRendering += RenderPipelineManager_beginCameraRendering;
    65.             RenderPipelineManager.endCameraRendering -= RenderPipelineManager_endCameraRendering;
    66.             RenderPipelineManager.endCameraRendering += RenderPipelineManager_endCameraRendering;
    67.         }
    68.  
    69.         private void RenderPipelineManager_endCameraRendering(ScriptableRenderContext context, Camera cam)
    70.         {
    71.             cam.ResetWorldToCameraMatrix();     // < ----- Unity 2017 Up
    72.             cam.ResetProjectionMatrix();        // < ----- Unity 2017 Up
    73.         }
    74.  
    75.         private void RenderPipelineManager_beginCameraRendering(ScriptableRenderContext context, Camera cam)
    76.         {
    77.             JitterProjection(cam);
    78.         }
    79.  
    80.         readonly float[] _xJit = new float[] { 0.5f, -0.25f, 0.75f, -0.125f, 0.625f, 0.575f, -0.875f, 0.0625f, -0.3f, 0.75f, -0.25f, -0.625f, 0.325f, 0.975f, -0.075f, 0.625f };
    81.         readonly float[] _yJit = new float[] { 0.33f, -0.66f, 0.51f, 0.44f, -0.77f, 0.12f, -0.55f, 0.88f, -0.83f, 0.14f, 0.71f, -0.34f, 0.87f, -0.12f, 0.75f, 0.08f };
    82.         void JitterProjection(Camera cam)
    83.         {
    84.             cam.ResetWorldToCameraMatrix();     // < ----- Unity 2017 Up
    85.             cam.ResetProjectionMatrix();        // < ----- Unity 2017 Up
    86.  
    87.             cam.nonJitteredProjectionMatrix = cam.projectionMatrix;
    88.  
    89.             var matrix = cam.projectionMatrix;
    90.  
    91.             var num = _xJit[frameCounter] * TemporalJitterScale;
    92.             var num2 = _yJit[frameCounter] * TemporalJitterScale;
    93.  
    94.             matrix.m02 += ( ( num * 2f ) - 1f ) / cam.pixelRect.width;
    95.             matrix.m12 += ( ( num2 * 2f ) - 1f ) / cam.pixelRect.height;
    96.  
    97. #if UNITY_EDITOR
    98.             //We dont want to jitter in this case, it can cause issues with the frame debugger etc
    99.             if (UnityEditor.EditorApplication.isPlaying && !UnityEditor.EditorApplication.isPaused)
    100. #endif
    101.             {
    102.                 frameCounter++;
    103.                 frameCounter %= 16;
    104.             }
    105.  
    106.             cam.projectionMatrix = matrix;
    107.         }
    108.  
    109.         Matrix4x4 _jitteredMatrix;
    110.         public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
    111.         {
    112.             var cb = CommandBufferPool.Get("CTAA");
    113.  
    114.             Commands(cb);
    115.             context.ExecuteCommandBuffer(cb);
    116.             CommandBufferPool.Release(cb);
    117.         }
    118.  
    119.         RenderTexture _rtAccum0;
    120.         RenderTexture _rtAccum1;
    121.         public override void Configure(CommandBuffer cmd, RenderTextureDescriptor camDesc)
    122.         {
    123.             var width = camDesc.width;
    124.             var height = camDesc.height;
    125.  
    126.             SetupHistoryBuffers(ref camDesc, width, height);
    127.  
    128.             cmd.GetTemporaryRT(_afterPreEnhace, camDesc, FilterMode.Point);
    129.  
    130.             SetCTAA_Parameters(width, height);
    131.  
    132.             swap = !swap;
    133.         }
    134.  
    135.         void SetupHistoryBuffers(ref RenderTextureDescriptor camDesc, float width, float height)
    136.         {
    137.             if (( _rtAccum0 == null ) || ( _rtAccum0.width != width ) || ( _rtAccum0.height != height ))
    138.             {
    139.                 if (Application.isPlaying) Object.Destroy(_rtAccum0);
    140.                 else Object.DestroyImmediate(_rtAccum0);
    141.  
    142.                 _rtAccum0 = new RenderTexture(camDesc)
    143.                 {
    144.                     hideFlags = HideFlags.HideAndDontSave,
    145.                     filterMode = FilterMode.Bilinear,
    146.                     wrapMode = TextureWrapMode.Repeat,
    147.                     name = "_rtAccum0"
    148.                 };
    149.             }
    150.             if (( _rtAccum1 == null ) || ( _rtAccum1.width != width ) || ( _rtAccum1.height != height ))
    151.             {
    152.                 if (Application.isPlaying) Object.Destroy(_rtAccum1);
    153.                 else Object.DestroyImmediate(_rtAccum1);
    154.  
    155.                 _rtAccum1 = new RenderTexture(camDesc)
    156.                 {
    157.                     hideFlags = HideFlags.HideAndDontSave,
    158.                     filterMode = FilterMode.Bilinear,
    159.                     wrapMode = TextureWrapMode.Repeat,
    160.                     name = "_rtAccum1"
    161.                 };
    162.             }
    163.         }
    164.  
    165.         public override void OnCameraCleanup(CommandBuffer cmd)
    166.         {
    167.             cmd.ReleaseTemporaryRT(_afterPreEnhace);
    168.  
    169.             base.OnCameraCleanup(cmd);
    170.         }
    171.  
    172.         bool PreEnhanceEnabled = true;
    173.         float preEnhanceStrength = 1.0f;
    174.         float preEnhanceClamp = 0.005f;
    175.         float AdaptiveResolve = 3000.0f;
    176.         float jitterScale = 1.0f;
    177.         Vector4 delValues = new Vector4(0.01f, 2.0f, 0.5f, 0.3f);
    178.  
    179.         bool firstFrame;
    180.         bool swap;
    181.         int frameCounter;
    182.         Vector3 camoldpos;
    183.  
    184.         void SetCTAA_Parameters(float width, float height)
    185.         {
    186.             PreEnhanceEnabled = AdaptiveSharpness > 0.01 ? true : false;
    187.             preEnhanceStrength = Mathf.Lerp(0.2f, 2.0f, AdaptiveSharpness);
    188.             preEnhanceClamp = Mathf.Lerp(0.005f, 0.12f, AdaptiveSharpness);
    189.             jitterScale = TemporalJitterScale;
    190.             AdaptiveResolve = 3000.0f;
    191.             _ctaaMat.SetFloat("_AntiShimmer", ( AntiShimmerMode ? 1.0f : 0.0f ));
    192.             _ctaaMat.SetVector("_delValues", delValues);
    193.             _ctaaMat.SetFloat("_AdaptiveResolve", AdaptiveResolve);
    194.             _ctaaMat.SetVector("_ControlParams", new Vector4(1.0f, TemporalStability, HdrResponse, EdgeResponse));
    195.  
    196.             _ctaaEnhanceMat.SetFloat("_AEXCTAA", 1.0f / width);
    197.             _ctaaEnhanceMat.SetFloat("_AEYCTAA", 1.0f / height);
    198.             _ctaaEnhanceMat.SetFloat("_AESCTAA", preEnhanceStrength);
    199.             _ctaaEnhanceMat.SetFloat("_AEMAXCTAA", preEnhanceClamp);
    200.         }
    201.  
    202.         readonly int _afterPreEnhace;
    203.         public void Commands(CommandBuffer cb)
    204.         {
    205.             if (PreEnhanceEnabled)
    206.             {
    207.                 cb.Blit(Target, _afterPreEnhace, _ctaaEnhanceMat, 1);
    208.  
    209.                 if (firstFrame)
    210.                 {
    211.                     cb.Blit(_afterPreEnhace, _rtAccum0);
    212.                     firstFrame = false;
    213.                 }
    214.  
    215.                 if (swap)
    216.                 {
    217.                     cb.SetGlobalTexture("_Accum", _rtAccum0);
    218.                     cb.Blit(_afterPreEnhace, _rtAccum1, _ctaaMat);
    219.                     cb.Blit(_rtAccum1, Target);
    220.                 }
    221.                 else
    222.                 {
    223.                     cb.SetGlobalTexture("_Accum", _rtAccum1);
    224.                     cb.Blit(_afterPreEnhace, _rtAccum0, _ctaaMat);
    225.                     cb.Blit(_rtAccum0, Target);
    226.                 }
    227.             }
    228.             //We dont suport non-preenhance
    229.             else
    230.                 throw new System.NotImplementedException();
    231.         }
    232.     }
    233. }
     
    Last edited: Aug 20, 2020
  19. niflying

    niflying

    Joined:
    Jul 11, 2012
    Posts:
    82
    Any ideas for HDRP?
     
  20. ABC123User

    ABC123User

    Joined:
    Jul 23, 2015
    Posts:
    8
    ^ this
     
  21. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
    It's the same principle, all you have to do is find out what the equivalent of a RenderFeature is in HDRP.

    Down the bottom of this page you can see a section on "Custom Pass" Where it talks about a c# template you can see it would be fairly simple to adapt my renderfeature to a custom pass. https://docs.unity3d.com/Packages/c...s.high-definition@7.1/manual/Custom-Pass.html

    I'm not doing it though, I have no use for HDRP so won't be interested in taking that on.

    From looking at the docs it should be very quick to do 2 things, port to a HDRP Custom Pass & Ensure some motion vectors, either porting kMotion or using the HDRP inbuilt
     
  22. TimmyNuts

    TimmyNuts

    Joined:
    Sep 1, 2020
    Posts:
    6
    Can someone with skill to help us hdrp users out since the author abandon us?
     
    DGordon likes this.
  23. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
    It really shouldn't take much work to port the URP ScriptableFeature into an HDRP custom pass, if anything custom passes look to be simpler and better documented.
     
  24. iceb_

    iceb_

    Joined:
    Nov 10, 2015
    Posts:
    28
    If you could write it for HDRP, you will be the savior of middle earth!
     
    DGordon and Bartolomeus755 like this.
  25. DGordon

    DGordon

    Joined:
    Dec 8, 2013
    Posts:
    489
    anyone want to port this to hdrp and be nice? :D
     
  26. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
    Jeez guys, I'm tempted to but just dont have the time right now and dont have a HDRP project to even test/work on.
     
  27. JRRReynolds

    JRRReynolds

    Joined:
    Oct 29, 2014
    Posts:
    180
    Aren't you getting a ton of jitter on your urp solution? It's unusable on my end. Curious if it's doing that for you or not
     
  28. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
    First of all have you implemented the kMotion RenderFeature? If not then you will have horrible jittering, kMotion is a requirement. Also, remember that the Global-Shader-Variable name for the Motion Vector Buffer has changed, if you haven't updated that in the 2 CTAA shaders to the new one then it won't work either.

    I've ended up having to make significant revisions since my initial post and the current state of kMotion isn't great, I have a task to fix the motion vectors as they aren't rendering correctly. I always push my kMotion changes to that branch for better or worse and someone else can always fork it, so when I fix it the fix will be available
     
  29. JRRReynolds

    JRRReynolds

    Joined:
    Oct 29, 2014
    Posts:
    180
    Hey Noonan, thanks for looking. Yea I'm using your kMotion fork and render feature stacked above CTAA feature on forwardrenderer, and changed all instances to _MotionVectorTexture in the 2 shaders, and using URP 9 on u2020.1.6. The second I add CTAA feature to Forward Renderer Data at your default levels I get terrible jitter. Anything above like 0.002-0.005 for jitter is pretty noticeable. I wanted to confirm if this was just me or not. What version of Unity are you on...maybe something changed in u2020?

    Edit: Just wanted to say I'm not sure how well this is working as a solution in general, definitely not the quality of the original ctaa. I assume this must be cause I have it setup wrong so its not having any effect. If you have a project (minus the shaders and CTAA package of course) that it is already set up in I would be happy to test it out. It seems like kMotion is essentially doing nothing as well after testing out the motion blur. I'll keep testing it on different unity versions, maybe I can find a working one.
     
    Last edited: Sep 18, 2020
  30. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
    Yeah, the current solution is borked, the motion plugin has been butchered as the first version I released was severely broken, it was leaking resources etc all over the place.

    Hopefully, I can get back to it to fix it and get it back to parity, it's more a question of 'when' rather than 'if' currently, our project also really needs this to get back to parity.

    Here are our settings but it should work regardless, I'll post again when I update kMotion again
    upload_2020-9-21_10-39-58.png
     
  31. CianNoonan

    CianNoonan

    Joined:
    May 19, 2017
    Posts:
    84
    As an aside this data cannot be changed currently at runtime I dont think, when I make my next pass then I'll re-release a v1.1 of the script that does that and improves resource management etc etc
     
  32. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    516
    I sucked in for the first version years ago . it went deprecated after zero replies from the dev here ..
    I sucked into the second one, thinking maybe the dev has changed their ways and will support this.

    I will Not suck in for the next version they put out. ...
    same goes for all the other dev's that have done the same over the years since i started on Unity v5
     
    dsilverthorn likes this.
  33. JRRReynolds

    JRRReynolds

    Joined:
    Oct 29, 2014
    Posts:
    180
    I'll test it out with the new version, right now I've tried several iterations of U2019.3.0-2020 withe urp 7 and 9 and nothing is working, same old jitter problem. I took a look, it seems you were having this problem with kMotion and your solution before so maybe that is the same problem, or maybe you accidentally pasted the CTAAFeature code from a version prior to when you resolved the issue or are using a version of kMotion that you internally modified separate from your git? Thanks for following up, would love to see it work in URP so was trying to get it to work during the weekend, but nothing.
     
  34. yoMatriax

    yoMatriax

    Joined:
    Aug 10, 2020
    Posts:
    3
    I had in mind buy this CTAA due it looks the best option for AA in unity, im using deferred rendering path and Built-In.

    But due it looks is abandoned... whats the second best AA for unity?
     
  35. JRRReynolds

    JRRReynolds

    Joined:
    Oct 29, 2014
    Posts:
    180
    Even though it may be abandoned and their is no customer service at the moment, it still is one of the best AA options if you are using 2019 or below and built-in pipeline. Other options include TAA in unity's post processing stack (cons: causes ghosting/blur on movement), MSAA (requires forward rendering), Unity's FXAA and SMAA - doesn't look as good, and Madgoat's anti aliasing SSAA which I haven't tried on bulitin but was buggy and too performance heavy on hdrp. If you are using built in and on a LTS build, CTAA still looks the best and has comparable performance with MSAA in my opinion. Maybe Livenda will come back at some point and update it. Like them or not, they make a good product.
     
    mgear likes this.
  36. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    1,916
    Still, their communication sucks. People who followed the developer during the last few years know this (see @castor76's post #608).
    Unless they change their attitude for the better, I'd stay miles away from buying any of their products.
     
  37. yoMatriax

    yoMatriax

    Joined:
    Aug 10, 2020
    Posts:
    3
    Madgoat SSAA was my second option, to be used in Built-In, and using unity 2020 and up, also is much more cheap. But well, at the end what i want is to fix the aliasing problems, if is better but not solves 100% the problem and perfomance is worst than this CTAA, well.. will investigate more.
     
  38. Justin_Wingfall

    Justin_Wingfall

    Joined:
    May 15, 2014
    Posts:
    112
    Unity Reps, please mark asset store link for this plugin and also thread as Depreciated.
     
  39. JRRReynolds

    JRRReynolds

    Joined:
    Oct 29, 2014
    Posts:
    180
    That's a bit extreme. Why would they do that? Because they don't respond to this thread? The plugin still works fine it's not like it is outdated at the moment....if it was broken and didn't work on newer versions of Unity that may be applicable. But having a developer not responding to an asset forum thread is hardly grounds for removing the plugin from the store. I think you're getting a little carried away here - if you don't like the plugin you would probably be better off leaving a review detailing why for others to learn from. If broken promises from a developer were grounds for removal from the asset store, you would be getting rid of half the store.
     
    dsilverthorn likes this.
  40. Justin_Wingfall

    Justin_Wingfall

    Joined:
    May 15, 2014
    Posts:
    112
    They still are false advertising, they are claiming hdrp support for how long? Devs like this and a couple other ones are the main reason way people go to other sites to their assets. Crap like this. I Blame them.

    I bought a decent amount of assets, being screwed over and not speaking my mind is not going to cut it. Some devs are getting away with some BS, I remember a dev advertising support multiple vehicle support, and he did a complete 180 after the sale was over once everyone bought it. At the end of the day we are the customers, there should be some sort of protection plan, or some type of 3 strike rule for devs.
     
    Last edited: Sep 24, 2020
    dsilverthorn likes this.
unityunity