Kudan Augmented Reality + Unity 3D

.

Cool - thanks!
I have problems with the MarkerTool.exe for Windows.
Any documentation about how to use it?

A little mistake in your command:

Do I need an ā€œexample.KARMarkerā€ file?
Isn“t there any Kudan AR Toolkit available for Windows?

"Marker Creation
Select the Marker Converter tab within the Kudan AR Toolkit.
Click on New and select where you would like to place your project file that will contain the marker data.
You can now add images to your project by either using the provided buttons or simply dragging an image in from Finder.
Once you have added your markers simply press the Export to create your .KARMarker file.
The project files are fully compatible with a DVCS such as Git."

Cool :smile:
Just bought OpenCV for this feature and now here you are giving it for free. :slight_smile:

Hi @HowardKudan_1 , great SDK!.. I have some questions…

  1. Work with video… I mean show a video when you scan the marker
  2. Work with youtube streaming? I mean show a video from youtube when you scan the marker
  3. have windows phone support?
  4. have osx, windows, linux support?

Regards,

Wow! Looks great!

I was just tinkering with ARToolkit, and only found your SDK after doing a search on how to generate shadows on surfaces :slight_smile: Looks like I’ll be usig yours for the demo I’m working on!

One problem… I just tried to do an iOS build for the demo scene included in the package (KudanSample), and I’m getting this error:

SystemException: Duplicate native method found : GetDetectedTrackable. Please check your source carefully.
UnityEditor.MonoAOTRegistration.ExtractNativeMethodsFromTypes (ICollection`1 types, System.Collections.ArrayList res) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/MonoInternalCallGenerator.cs:27)
UnityEditor.MonoAOTRegistration.BuildNativeMethodList (Mono.Cecil.AssemblyDefinition[ ] assemblies) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/MonoInternalCallGenerator.cs:49)
UnityEditor.MonoAOTRegistration.WriteCPlusPlusFileForStaticAOTModuleRegistration (BuildTarget buildTarget, System.String file, CrossCompileOptions crossCompileOptions, Boolean advancedLic, System.String targetDevice, Boolean stripping, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.AssemblyReferenceChecker checker) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/MonoInternalCallGenerator.cs:87)
UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (UnityEditor.iOS.iOSBuildPostprocessor pp, BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String stagingAreaDataManaged, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry)
UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:316)

Any ideas?

Cheers,
Taz

Just followed your Youtube tutorial to set up my own test scene. Same error, as above, when building to iOS. Using Unity Pro 5.2.2 with Android Pro and iOS Pro on OS X 10.11 (El Capitan)

PS. Your video just seems to cut off at the end dropping back to your logo. Is this intended? Seems unfinished.

One thing to note also - The ā€˜Kudan AR Toolkit’ app crashes when you attempt to edit / copy the image dimensions. Happens every time.

Apologies. Forget my previous messages :slight_smile: I did a complete clean and created a new project from scratch which fixed those errors I was getting. Still not sure what was causing it before, but I suspect there was something still lurking somewhere in the project after I removed ARToolkit.

I’ve done a test build and it’s tracking great. I’m impressed with the tracking actually. Much better than ARToolkit which would choke if you obscured the marker, even slightly.

A few things, if I may:

  • Kudan AR Toolkit crashes, when attempting to edit the name or size of the marker. Error log attached.
  • Will we be able to test within the Unity editor, rather than doing builds each time to test on the device?
  • Any info on how to do tracking like in the Ford Mustage demo (using the floor plane as a marker)?
  • Would be interested to know how to get a shadow plane working. I’ve enabled the BackgroundRender object to receive shadows, which doesn’t work.
  • What’s the best practice for scale? I have an trackable image which is 400x400, and the scene treats this as units, so I jave to scale up any objects a huge amount before I can see them in view. Would be better if we could use ā€˜real world’ scale (1 unit to 1m).

Thanks in advance for any advice and pointers…

2382169–162127–Kudan AR Toolkit Error Log.txt (104 KB)

Getting this error when generating a trackable from within the inspector:

InvalidOperationException: Operation is not valid due to the current state of the object
System.Collections.Stack.Peek () (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections/Stack.cs:321)
UnityEngine.GUILayoutUtility.EndLayoutGroup ()
UnityEngine.GUILayout.EndVertical ()
UnityEditor.EditorGUILayout.EndVertical () (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorGUI.cs:6589)
UnityEditor.InspectorWindow.DrawEditor (UnityEditor.Editor editor, Int32 editorIndex, Boolean forceDirty, System.Boolean& showImportedObjectBarNext, UnityEngine.Rect& importedObjectBarRect, Boolean eyeDropperDirty) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1224)
UnityEditor.InspectorWindow.DrawEditors (UnityEditor.Editor[ ] editors) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1015)
UnityEditor.InspectorWindow.OnGUI () (at /Users/builduser/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:349)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[ ] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

Any help appreciated.

Lots of messages from me. Looks like I’m the only one here :slight_smile:

Prior to that exception I was getting (above), I did manage to generate a marker set, but it’s only generating one out of the two that I added.

Below is what I was exporting:

After setting everything up in the test app, the diagnostics window is showing ā€˜Loaded: 1’, and it only recognises the ā€˜ninja’ marker. I presume ā€˜Marker Size’ in the ARCamera should still be set to 1, pointing to the created Asset?

Attached are the relevant generated data files in a zip file.

Be grateful for any help with this.

Cheers,
Tarique

2382331–162140–CharacterMarker.zip (205 KB)

Great. Thanks for getting back to me!

I might be doing something wrong, but can’t see where. So any pointers welcome! I did open up the generated asset file and it does appear that it only contains one marker.

Also, now that I try to generate a trackable from within unity I get that exception, as mentoined above, and it’s only generating the initial header info in the ā€˜CharacterMarker’ asset file; not the data.

I’ll try again in the morning (on NZ time here…). But if you spot something, lt me know!

Hi,

1)Does Kudan support 3d objects edge detection
2)Does Kudan support 2d textureless image detection say cpu or a lift.
3)How to place my augmented 3d objects on the specific points of the marker like usb port, valves etc

Can we use the camera texture deform in the Unity SDK? Like in your paper plane demo…

Is there any video or document for improving the detection of poor markers

My marker jitters. What can I do?
Firstly you should attempt to improve the quality of your marker. If this isn’t an option, then you can try adjusting the tracker parameters for the marker. In the case of failing to detect you can reduce the detection threshold. For unstable tracking you can adjust the number of features tracked as well as pose filtering.

Things seem to have gone strangely quiet…

They dont appear to reply on Twitter either. Poor support for a company releasing a new SDK…

They’ve even used part of one of my messages above in a quote on Twitter, saying how great it is, despite the list of issues underneath I mentioned :slight_smile: Talk about cherry picking quotes! :slight_smile: I don’t mind, but at least offer some support.

I also noticed from their profile here, they’ve been logging on to these forums most days, latest being yesterday at 11am. No messages, other than how great their system is :slight_smile:

I’ve replied to them on Twitter too about people waiting for answers, but no reply there either. Seem to prefer marketing than supporting. It’s a shame, as it looks really good. But people in this position should remember that they’re only as good as the support they offer; doesn’t matter how great their system is.

In the meantime, I have switched to using Vuforia, due to the time critical issues in getting a demo done for a client. To be honest, for what I need, that works very well too, as good as Kudan.

I’m sorry if this is overly critical, @HowardKudan_1 . But leaving people hanging is never a good thing.

1 Like

We are using Vuforia right now, but the Kudan stuff looks very interesting. If it evolves and appears to actually have a support system in place then we may look into using this for potential projects.

I have this error when i build my app for android :
2403652--164089--Capture.PNG
Do you have any idea for this problem ?
Thanks

Hey,
This is caused by difference between Kudan plugin min android API level and Unity player settings. Check in temp folder for manifest xml files and then set in Unity exactly same API lvl.