Unity: Missing meshes on all mesh filters on Linux - linux

I am having some issues while creating the build for the Linux platform. Everything is working perfectly on Windows on the same branch and Unity version(2019.3.13f1 Professional).
Meshes are missing for all mesh filters in the project on Linux machine. They are not even visible in the inspector.
There was an error for no OpenGL support.
Platform StandaloneLinux64 with device OpenGLCore is not supported with High Definition Render Pipeline, no rendering will occur
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /home/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)
I used Vulkan instead of OpenGL. But the issue persists.
On reloading, an error appears for all meshes:
"Import FBX Errors:
Could not read file abc.FBX. Unexpected file type.
"Inspector Looks like this on selecting the meshes

Besides the OpenGL driver issues, you must also make sure that you do commit the .meta files also in your repository. Internally Unity reference files based on their ids that are located inside these meta files. Without them Unity won't know which external file was assigned to which GameObject and that could also be a cause for not showing the meshes.
However, when you manually drag-and-drop the meshes onto Unity, it recreates the .meta files and assign that to the new GameObject you had just created, which could explain the behaviour you noticed.

I solved the issue. The issues was that I had to do "git lfs pull" instead of "git pull". This may help any other person.

Related

Vuforia: overlaying a texture onto a target instead of the teapot - problems with C++ file location

I'm trying to place a texture over a target in Vuforia (similar to this post), but am running into difficulty. I'm using Eclipse Luna, on Ubuntu 14.04.
So far I've done the following:
Installed the Vuforia Samples Project (with ImageTarget, Multi-Targets, User-defined targets, etc. in it) - this works find under normal Java environment.
Installed Android NDK, & setup directory in preferences.
I have added Android NDK support to the Vuforia samples project (via Android Tools menu)
I have built all.
Whilst the JNI directory appears, it only contains VuforiaSamples.cpp. I can't find ImageTargets.cpp as required in this tutorial.
Any ideas what I need to do? Thanks.
It turns out I didn't need to use the NDK. What I wanted to achieve was possible with Java alone.
To achieve this, take a look in the "...SampleApplications.util" package of the Java demo project and duplicate the "CubeObject", calling it something like "MyObject". You can then alter the geometry within this new object class.
To implement your new object class, take a look at the "...Render.java" file. In the rendering method you will see what code to replace with your own code.

android-support-v7-appcompat has same attrs as actionbarsherlock library

I'm trying to get chromecast integration in my app but I'm having build issues when I add the android-support-v7-appcompat to my project. Basically it has an attrs.xml file that has the same values as the actionbarsherlock attrs.xml file. Is there anyway around this? This seems kind of ridiculous that different libraries can possibly conflict resource values.
I just encounter the same problem and had a hard time for several hours figuring this out. this is how I solved it.
You usually need support-v7-appcompat if your minimum sdk supported is below API14.
I removed support-v7-appcompat as my library. (This will show error regarding missing theme.)
For all the styles.xml in all folders (mine are) values, values-v11 and values-v14
style name="AppBaseTheme" parent="Theme.AppCompat.Light"
replace it with
style name="AppBaseTheme" parent="android:Theme.Light"
for some reason, in my menu xml file. it had error for android:showAsAction. I was able to solve it by deleting it then save and then copying the same thing from another file i have because I want that function. (Really weird it was just the same text.)
I did my sherlock code adjustments needed for my app
I am now able to run actionbar in 2.3.3

MonoDevelop: Any way to override resources / classes using projects?

Consider a solution has 2 projects: ProjectA and ProjectB (both are MonoTouch apps) and ProjectBase. ProjectBase contains the whole application, but Main.cs file (with the entry point) is located in ProjectA and ProjectB (which reference ProjectBase). This way, running any of A/B projects will boot up the application from ProjectBase.
Now, I want to override something for ProjectA only (it might be XIB file, image or a .NET class). Is there any way I can setup the solution so that the code and resources, produced by ProjectBase, are merged with the ones from ProjectA/ProjectB and the latter wins?
I found (probably a quirky and kinda-undefined-behavior-driven way) of overriding XIBs: I just put a XIB into ProjectA and ProjectB, name it the same as it was named in ProjectBase and them exclude it from ProjectBase. Although MonoDevelop compiles all items, it seems that the startup project's XIBs get priority, so that I see ProjectA-specific XIBs when I launch ProjectA and ProjectB-specific XIBs when I launch ProjectB. However, I am not sure it is the way it should behave, plus, from what I can see from build log, ALL projects get built yielding resources at the end.
P.S. I'm sorry if this has been asked previously, but I was not able to find the similar question on SO.
I was once trying to do this for a bunch of apps. I would have thought build order would be ProjectBase and then ProjectA, and the content copy system would be the same... Guess this means we are wrong.
You could do a few things.
A) Build your own program to copy resources which are marked for content. Would not be very hard, just need to read the .csproj files. XML parsing is easy enough in .NET. Run this program on post build. Would just have to be careful when doing builds such as to zip or to the device as I am not sure how it handles post-build events.
B) [This is what I did instead] If I expect to also make ProjectC, ProjectD ... ProjectN I instead made a program to generate my program... (Programception).
What it does, has ProjectBase, and ProjectTempalte. You enter your new project name into this program, say, "MyNewProject" and it will create the correct folder structure, write the correct csproj files, and update SLN file. ProjectTemplate has various placeholders in .csproj files like {PLACEHOLDER} which Programception would just go through and find/replace with my project name. Image files (and in your case XIB) are then only kept within ProjectA (B..C..N) unless I do not expect to try and override them in which case they would stay in ProjectBase. This is a lot easier with a XIBless application I would assume. I never use XIB's anyway.
Hope that helps!

Is directshow.net video input device filter enumeration broken (in newer environments)?

Every example in the directshow.net samples folder (marked "2010-February") compiles fine, and those that play videos from files work great. However, every example that tries to enumerate the FilterCategory.VideoInputDevices always fails to find any of my filters, specifically DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
always returns that I have no devices. This same problem occurs for me in every other program that uses directshow.net, like touchless and the various examples on codeplex.
I've got four video input filters installed (1 webcam and 3 screen-capturing filters) and they're found/usable by the graph editor that comes with the Windows SDK and the rl Filter Manager. Both programs list the four filters under "Video Capture Sources" and each Moniker starts with the correct GUID that directshow.net's FilterCategory.VideoInputDevices points to ("860BB310-5D01-11D0-BD3B-00A0C911CE86").
I've tried compiling and using the latest directshow.net dll myself, but nothing changed.
Is there some reason why the wrapper can get the video rendering filters fine but not enumerate video capturing ones? I'm on win7 sp1, 64bit, using visual C# 2010 express. Is something in my environment causing this? I'd gladly handle the change myself if I knew what is causing it.
Thank you for your time.
I copied the code for GetDevicesOfCat into my project and started debugging it. If I handed it any FilterCategory other than VideoInputDevice, it would get most of the filters that GraphEdit lists, but it was still missing some in most of the categories. I guessed that there was some property of the filters that made them unobtainable to my compiled version of GetDevicesOfCat.
It turns out simply switching my platform target to x86 does the trick, though it's not as straightfoward in VS2010 Express (for a fresh install, you'll have to follow the second answer before you do the first):
Change target CPU settings in Visual Studio 2010 Express
The program now successfully enumerates all of my filters.

How can I override a class in J2ME Polish binaries?

I am using a UI component from J2ME Polish. I found a simple bug in the code, and want to quickly fix it but cannot find any build scripts in the download package, although source-code is included.
The problem cannot be solved by extending the class as it involves members with private access.
How should I go about fixing it? Should I simply compile the class in question with Javac or should try to locate build script in their repository?
There is no binary code for J2MEPolish UI library, because these classes are also preprocessed during your application compilation. This is why there is also no build script for J2MEPolish UI part - the resulting binary, if it compiles, would not make any sense :)
If you are using this UI class directly (there is no Polish magic involved) I would suggest to copy it into your own project, make the changes there and you should be just fine.
But there is a small issue. I'm not 100% sure, but Polish build process should be as follows: first your classes are preprocessed and then Polish classes will be preprocessed. If the UI component, that you copied into your project, will stay in the same java package, it could happen that your changes will be overwritten by buggy Polish implementation. You can check it by running the application or looking at the final java code in build directory.
If the overwriting problem happens, then you have two options - move UI class in your project into different package (I'm 99% sure this should be fine if you use it directly) or you need to modify Polish build process, so that it would preprocess Polish classes first and you could overwrite changes done by it.
/JaanusSiim
I know this question has been answered and accepted but an easier method would be to used their built in property (for any one coming here via the magic search engines)
polish.client.source=/projecthome/j2me-polish-source
which is simply a copy of their sources packaged with the installer. You can copy this into your own source tree and thus have version history of your changes.
While JaanusSiim's method might work I would not recommend it as it becomes confusing having de.enough.** packages in your own source tree I normally create a src for my personal source and a src-j2mepolish for their source files this was it is VERY explicit what I have added to the standard versions.

Resources