Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Erro en el Script de ObiFluidRenderer
#1
El problema es que usando Obi Fluid en Unity 6.4 (6.000.4.0f1) no puedo ejecutar ninguna escena de ejemplo esto debido a que obtengo errores de consola en un Script que pertenece a Obi Fluid



Este son los errores que muestra



[Image: error-consola.png]

buscando dentro de Obi Fluid veo que es el siguiente Script  ObiFluidRenderFeature.cs. aquí no se si deba de mostrar el otro icono # que es con el que se identifican los archivos scripts ecritos en C #
[/url][url=https://postimages.org/][Image: Assets-proyecto.png]

si lo selecciono en el inspector se ve así
[Image: script-properties.png]

Ahora si abro el archivo para ver mejor el código fuente, vemos que no encuentra esos métodos. esos son lo que están causando el Error
[Image: script.png]



Ahora si entro a la otra carpeta RemderBatches vemos que el Script se muestra con el icono que debe de llevar y no el otro icono del archivo que está mal.

[Image: script-correcto.png]


al igual que en el inspector se ve claro su código, esto sin la necesidad de abrir el código para poderlo visualizar correctamente
[Image: script-correcto-inspector.png]


esta es la segunda vez que cargo Obi Fluid en otra computadora (del trabajo) y me sale el mismo error que en la computadora (de la casa) donde tengo el proyecyo.

en el del trabajo intente con otro proyecto que solo tiene un cubo y un plano.


Attached Files Thumbnail(s)
                   
Reply
#2
Hola,

Esto se debe a que la versión de URP que tienes instalada no tiene soporte de fallback para RenderGraph. Como resultado, los métodos que la clase ObiFluidRendererFeature implementa no existen en la clase base.

La corrección es sencilla: todo lo que está en la región PASS_NON_RENDER_GRAPH_PATH se puede eliminar. Es decir, borra del archivo estas líneas:

Code:
        #region PASS_NON_RENDER_GRAPH_PATH
#if UNITY_2023_3_OR_NEWER
        [System.Obsolete("This rendering path is for compatibility mode only (when Render Graph is disabled). Use Render Graph API instead.", false)]
#endif
        public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData)
        {
            SetupResources(renderingData.cameraData.cameraTargetDescriptor);

            ConfigureTarget(m_TransmissionHandle);
            ConfigureClear(ClearFlag.All, FluidRenderingUtils.transmissionBufferClear);

            ConfigureTarget(m_SurfHandle);
            ConfigureClear(ClearFlag.All, FluidRenderingUtils.thicknessBufferClear);
        }

#if UNITY_2023_3_OR_NEWER
        [System.Obsolete("This rendering path is for compatibility mode only (when Render Graph is disabled). Use Render Graph API instead.", false)]
#endif
        public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
        {
            CommandBuffer cmd = CommandBufferPool.Get(k_ThicknessPassTag);
            using (new ProfilingScope(cmd, m_Thickness_Profile))
            {
                var passData = new PassData();
                passData.passes = passes;
                passData.m_Thickness_Profile = m_Thickness_Profile;
                passData.m_TransmissionMaterial = m_TransmissionMaterial;
                passData.foamFadeDepth = foamFadeDepth;

                passData.m_TransmissionHandle = m_TransmissionHandle;
                passData.m_SurfHandle = m_SurfHandle;
                passData.m_DepthHandle = m_DepthHandle;
                passData.m_FoamHandle = m_FoamHandle;

                PopulateComandBuffer(cmd, passData);
            }
            context.ExecuteCommandBuffer(cmd);
            cmd.Clear();
            CommandBufferPool.Release(cmd);
        }

#endregion

Dime qué tal te va tras hacer esta corrección,

Quote:buscando dentro de Obi Fluid veo que es el siguiente Script ObiFluidRenderFeature.cs. aquí no se si deba de mostrar el otro icono # que es con el que se identifican los archivos scripts ecritos en C #

Todos los assets en un proyecto de Unity pueden tener un icono personalizado. Por defecto, los archivos de C# tienen una hoja blanca con una almohadilla (#), pero se les puede poner cualquier otra imagen. Los scripts que son componentes o features en Obi tienen su propio icono, que se refleja en la escena y en el inspector. Esto no afecta a su funcionalidad en absoluto.

Un saludo,
Reply
#3
Dedo arriba 
oooooooooh muchas gracias.

Eres toda una Makinaaaaaaa del Soporteeeeeee 

funcionó al 1000%

Decidí por comentarlo
[Image: region-comentada.png]

luego obtuve el siguiente mensaje

[Image: Script-updating.png]


y después de acptar se borraron los Errores de la consola y solo me quedaron advertencias

[Image: warning.png]


pero las borre porque vi que no afectan en nada (o por lo menos en lo que yo lo ocupo).
Reply