Obi Official Forum
How to Use it for Android? - Printable Version

+- Obi Official Forum (https://obi.virtualmethodstudio.com/forum)
+-- Forum: Obi Users Category (https://obi.virtualmethodstudio.com/forum/forum-1.html)
+--- Forum: Obi Softbody (https://obi.virtualmethodstudio.com/forum/forum-12.html)
+--- Thread: How to Use it for Android? (/thread-2871.html)



How to Use it for Android? - MikhailVasilev - 18-04-2021

How to Use it for Android?

Just bought the plugin but it works only in Unity Editor

I tied to make a build for Android and PC and it gives me a bunch of errors out of the box!

How to make a build for Android with Obi SoftBody guys?
I'm new but already know some programming and unity things, and I suppose it should build out of the box, I even installed these Burst, Jobs and friends but it still gives me a lot of errors!
----
Specs:
Win10 64 bit
Unity 2020.1.0f1 Personal
No extra packages and plugins
Everything is default
I try to compile Example scenes and my scene(put it in Build Settings)
----

Here are some of Errors     vvv
Code:
Unable to find player assembly: J:\UNITY\ObiSoftBodyTest\Temp\StagingArea\Data\Managed\UnityEngine.TestRunner.dll
UnityEngine.Debug:LogWarning(Object)
Unity.Burst.Editor.BurstAotCompiler:OnPostBuildPlayerScriptDLLsImpl(BuildReport) (at Library/PackageCache/com.unity.burst@1.3.9/Editor/BurstAotCompiler.cs:286)
Unity.Burst.Editor.BurstAotCompiler:OnPostBuildPlayerScriptDLLs(BuildReport) (at Library/PackageCache/com.unity.burst@1.3.9/Editor/BurstAotCompiler.cs:163)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Code:
Unable to find player assembly: J:\UNITY\ObiSoftBodyTest\Temp\StagingArea\Data\Managed\Unity.PerformanceTesting.dll
UnityEngine.Debug:LogWarning(Object)
Unity.Burst.Editor.BurstAotCompiler:OnPostBuildPlayerScriptDLLsImpl(BuildReport) (at Library/PackageCache/com.unity.burst@1.3.9/Editor/BurstAotCompiler.cs:286)
Unity.Burst.Editor.BurstAotCompiler:OnPostBuildPlayerScriptDLLs(BuildReport) (at Library/PackageCache/com.unity.burst@1.3.9/Editor/BurstAotCompiler.cs:163)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Code:
Compiling Vertex program with _MAIN_LIGHT_SHADOWS_CASCADE
Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR
Disabled keywords: _MAIN_LIGHT_SHADOWS _SHADOWS_SOFT UNITY_NO_DXT5nm UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_COLORSPACE_GAMMA UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_VIRTUAL_TEXTURING

Code:
Shader error in 'Obi/URP/Simple Particles': failed to open source file: 'Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl' at Assets/Obi/Resources/ObiMaterials/URP/ObiLightingURP.cginc(4) (on d3d11)

Compiling Vertex program with _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _SHADOWS_SOFT
Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR
Disabled keywords: UNITY_NO_DXT5nm UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_COLORSPACE_GAMMA UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_VIRTUAL_TEXTURING

Code:
Error building Player: 2 errors

Code:
Build completed with a result of 'Failed'

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Code:
UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x0027c] in <b17f35b08b864a3ca09a7032b437596e>:0
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <b17f35b08b864a3ca09a7032b437596e>:0
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Found how to Fix it!!!

I just put Obi folder to Editor folder

Editor folder is the Default project folder! Those small things you need to know ))
Now so far so good, everything works pretty well on mobile.


RE: How to Use it for Android? - MikhailVasilev - 18-04-2021

so many other bags so far!
This plugin is not that user friendly at all
Mostly for advanced users


RE: How to Use it for Android? - josemendez - 18-04-2021

(18-04-2021, 09:24 PM)MikhailVasilev Wrote: so many other bags so far!

Hi!

Sorry, I don’t understand what you mean. I see that you solved the Android issue, have you found any other problem we can help you with?

Quote:This plugin is not that user friendly at all
Mostly for advanced users

Softbody simulation is a quite advanced topic in general, and Obi is targeted at intermediate/advanced users. So yes, this is mostly for advanced users and advertised as such. From our  FAQ:

http://obi.virtualmethodstudio.com/faq.html

Quote:Is Obi easy to use for a complete beginner?

It depends on what your goals are. If you want to make something more complex than a simple flag or a water faucet, most likely the answer is no. Obi is a powerful, large and complex system. If it makes sense for a particular parameter to be exposed to the user, Obi does expose it. No compromises were made in its design to trade flexibility for ease of use. A considerable amount of effort was put into making it 'as simple as possible, but not simpler'.

Throughout the manual, API documentation and engine design, basic 3D math/simulation concepts (like vector spaces, inertial forces, mass or fixed timestepping) aren't explained in detail. It's a good idea to familiarize yourself with these before attempting to use Obi in a real-world project.

The good news is that if you devote enough time to it, it will pay off. Also it will help you grasp a lot of essential simulation concepts that can be easily transferred to other physics simulators. You'll wonder why these other simulators impose so many artificial limits on what you can do with them.

Is scripting / coding required to use Obi?

For anything except the bare basics, yes. Obi is written in HPCS (high performance C#) and C++11, and it exposes a C# API. Obi deals with hundreds of particles and thousands of constraints every frame. These are exposed to you, the user, so learning how to write performant code is a prerequisite



RE: How to Use it for Android? - MikhailVasilev - 19-04-2021

it works for me now
spent some time figuring things out...

Thanks for your support! I've made 5-star review : )


RE: How to Use it for Android? - josemendez - 19-04-2021

(19-04-2021, 11:56 AM)MikhailVasilev Wrote: it works for me now
spent some time figuring things out...

Thanks for your support! I've made 5-star review : )

Hi Mikhail,

Thanks for the review, that really helps me Sonrisa 
I've heard your request for more video tutorials, so that's exactly what I'll spent my time doing the following weeks.