Augmented Reality for UE4

Hi,

does the plugin still work with unreal 4.15? Currently i’m trying to get the demo running but i’m not lucky ;-/ i would love to use it and buy the comercial licence if it works.

thx and best regards

: Hello, It’s my custom project. Why it run into error?

Hi , I have a personal version.
I think I settle my old problem.But new problem occurs. Actually I try to use your plugin in my project.
I imitate your free version sampleproject and add the same nodes in my Pawn’s blueprint. The init has completed and every node such as getcameraframe… runs in blueprint.
But still can’t get a video stream. Where may be the problem? I need it much. Please help~
Thank u!~
There is some information.
[2017.02.18-09.39.37:251][173]LogGameMode:Display: Match State Changed from EnteringMap to WaitingToStart
[2017.02.18-09.39.37:251][173]LogGameState: Match State Changed from EnteringMap to WaitingToStart
[2017.02.18-09.39.37:252][173]LogGameMode:Display: Match State Changed from WaitingToStart to InProgress
[2017.02.18-09.39.37:252][173]ARToolkit: Android orientation: Landscape
[2017.02.18-09.39.37:255][173]ARToolkit: USB2.0 PC CAMERA

[2017.02.18-09.39.37:255][173]ARToolkit: Device path: \?\usb#vid_18ec&pid_5850&mi_00#6&3363d1ac&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global

[2017.02.18-09.39.37:255][173]ARToolkit: Number of webcams: 1
[2017.02.18-09.39.37:255][173]ARToolkit: Init started
[2017.02.18-09.39.45:041][173]ARToolkit: Camera resolution (640,480)

[2017.02.18-09.39.45:041][173]ARToolkit: Camera pixel format: 1
[2017.02.18-09.39.45:042][173]ARToolkit: Video texture created (640,480)

[2017.02.18-09.39.45:042][173]ARToolkit: Param load start
[2017.02.18-09.39.45:042][173]ARToolkit: Param load success
[2017.02.18-09.39.45:042][173]ARToolkit: Camera init succesfull!
[2017.02.18-09.39.45:083][173]ARToolkit: AR Patt Handle created

[2017.02.18-09.39.45:083][173]ARToolkit: 3D Handle created

[2017.02.18-09.39.45:083][173]ARToolkit: Detection mode : TEMPLATE
[2017.02.18-09.39.45:083][173]ARToolkit: ARToolkit init succesfull!
[2017.02.18-09.39.45:083][173]ARToolkit: NFT init started…
[2017.02.18-09.39.45:111][173]ARToolkit: Using NFT tracking settings for more than one CPU.

[2017.02.18-09.39.45:111][173]ARToolkit: NFT init successfull…
[2017.02.18-09.39.45:139][173]ARToolkit: Init complete !!

[2017.02.18-09.39.45:140][173]LogGameState: Match State Changed from WaitingToStart to InProgress
[2017.02.18-09.39.45:140][173]PIE: 信息 /Game/FlyingBP/Maps/UEDPIE_0_FlyingExampleMap的‘在编辑器中播放’的起始时间8.241
[2017.02.18-09.39.45:140][173]LogBlueprintUserMessages: Late PlayInEditor Detection: Level ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel’ has LevelScriptBlueprint ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel.FlyingExampleMap’ with GeneratedClass ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap_C’ with ClassGeneratedBy ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel.FlyingExampleMap’
[2017.02.18-09.40.00:371][129]LogBlueprintUserMessages: Early EndPlayMap Detection: Level ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel’ has LevelScriptBlueprint ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel.FlyingExampleMap’ with GeneratedClass ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap_C’ with ClassGeneratedBy ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel.FlyingExampleMap’
[2017.02.18-09.40.00:538][129]ARToolkit: Cleanup ready !!

[2017.02.18-09.40.00:580][129]LogBlueprintUserMessages: Late EndPlayMap Detection: Level ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel’ has LevelScriptBlueprint ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel.FlyingExampleMap’ with GeneratedClass ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap_C’ with ClassGeneratedBy ‘/Game/FlyingBP/Maps/FlyingExampleMap.FlyingExampleMap:PersistentLevel.FlyingExampleMap’
[2017.02.18-09.40.04:154][383]LogWindowsTextInputMethodSystem:Display: IME system now activated using TSF (微软拼音).
[2017.02.18-09.40.04:364][384]Cmd: QUIT_EDITOR
[2017.02.18-09.40.05:314][384]LogExit: Preparing to exit.
[2017.02.18-09.40.06:298][384]LogExit: Editor shut down
[2017.02.18-09.40.06:298][384]LogExit: Transaction tracking system shut down
[2017.02.18-09.40.06:365][384]LogObj: Freed 0b from 0 cluster array pools.
[2017.02.18-09.40.06:365][384]LogExit: Object subsystem successfully closed.
[2017.02.18-09.40.06:382][384]LogD3D11RHI: Shutdown
[2017.02.18-09.40.06:382][384]LogD3D11RHI: CleanupD3DDevice
[2017.02.18-09.40.06:449][384]LogD3D11RHI: ~FD3D11DynamicRHI
[2017.02.18-09.40.06:457][384]LogHttp:Display: Http module shutting down, but needs to wait on 1 outstanding Http requests:
[2017.02.18-09.40.06:457][384]LogHttp:Display: verb=[POST] url=[https://datarouter.ol.epicgames.com/datarouter/api/v1/public/data?SessionID={973FCC83-4F6D-2A8C-FC94-8FBDD7EF9756}&AppID=UEEditor.Rocket.Release&AppVersion=4.14.3-3249277%2B%2B%2BUE4%2BRelease-4.14&UserID=cb2e7ec7448c292760b360a7dd49bb66|ac8230a97ba04475a8dde8dc652cb083|9eaa07d4-65f5-49db-a1e9-f3f1bd254f4e&AppEnvironment=datacollector-binary&UploadType=eteventstream] status=Processing
[2017.02.18-09.40.06:457][384]LogHttp:Display: Sleeping 0.5s to wait for 1 outstanding Http requests.
[2017.02.18-09.40.06:958][384]LogHttp:Display: Sleeping 0.5s to wait for 1 outstanding Http requests.
[2017.02.18-09.40.07:493][384]LogModuleManager: Shutting down and abandoning module MovieSceneCapture (246)
[2017.02.18-09.40.07:493][384]LogModuleManager: Shutting down and abandoning module HierarchicalLODOutliner (245)
[2017.02.18-09.40.07:493][384]LogModuleManager: Shutting down and abandoning module CrashTracker (244)
[2017.02.18-09.40.07:493][384]LogModuleManager: Shutting down and abandoning module SceneOutliner (243)
[2017.02.18-09.40.07:493][384]LogModuleManager: Shutting down and abandoning module WidgetCarousel (242)
[2017.02.18-09.40.07:493][384]LogModuleManager: Shutting down and abandoning module AddContentDialog (241)
[2017.02.18-09.40.07:494][384]LogDirectoryWatcher: A directory notification for ‘D:/UE4/Epic Games/4.14/FeaturePacks/’ was aborted.
[2017.02.18-09.40.07:497][384]LogModuleManager: Shutting down and abandoning module GameplayTags (240)
[2017.02.18-09.40.07:497][384]LogModuleManager: Shutting down and abandoning module EditorWidgets (239)
[2017.02.18-09.40.07:497][384]LogModuleManager: Shutting down and abandoning module CollectionManager (238)

Hi ,

I am sorry, I can’t tell the problem from the logs.
Maybe something is missing a material or texture. If you could send me your project I could take a look at it.

Hi @, hi !

How do I make my 3D Model stay at his last known position when the marker is lost, and start tracking again when the marker comes back into view?
I’ve followed these steps :

  1. Open the level blueprint and locate the “set hidden in game node”
  2. Disconnect the new hidden pin and set it to false
  3. It won’t disappear if the marker is not visible.

But the 3d Model seems to get back to 0,0,0 and not the last know position when it last had seen the tracker.

How can I fix that?

Thanks in advance,

Denis

Store if the marker is visible in a bool variable, also store it’s position as a vector if it’s not 0,0,0. It will be the markers last valid location.
Check the marker’s visibility in EventTick, and if it disappears (turns from true to false) apply it’s last know position.

How to integrate this plugin with your custom project?
1.convert your project to a C++ project.
2.Put the file in the sampleproject into your own project. Note: don’t put Config folder.
3.Generating visual studio project files and choose rebuild ARToolkitPlugin.dll.
4.Use the node of the plugin in your project and Enjoy it!

has anyone had any issues with trying to run this on android? when i start the program on android, the app stops working, and just displays a message saying 'Unfortunately, [APPNAME] has stopped working". Logs don’t even include any info about that crash. the app just shuts down right after it loads the NFT markers successfully (according to the last log line). have tested normal app deployments and everything works fine, but anything with the ARtoolkit base actor in it will not load and shut down the app.

Testing on a Note 4 and S4, both running Android 4.4.4. I realize these are slightly older OS’s, but should still be compatible from what i’ve read.

Testing on computer with web cam works fine.

[EDIT] finally got it working, but not sure why it works this time. may have been an issue with the device rather than the plugin.

Hello,

I tried to use plugin in our C++ project but there’s a problem that I couldn’t include ARToolkitComponent.h in our files,

I added this line to MyProject.Build.cs
PublicDependencyModuleNames.AddRange(new string] { “ARToolkitPlugin”, “ARToolkit” });

and also I include ARToolkitComponent.h in our pawn class but when i trying compile in editor I’ve these errors in editor:

plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(60) : error C3646: ‘matrix’: unknown override specifier
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(60) : error C2143: syntax error: missing ‘,’ before ‘’
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(60) : error C2143: syntax error: missing ‘)’ before ‘;’
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(60) : error C2238: unexpected token(s) preceding ‘;’
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(65) : error C2143: syntax error: missing ‘;’ before ‘
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(65) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(65) : error C2238: unexpected token(s) preceding ‘;’
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(66) : error C3646: ‘filterCutoffFrequency’: unknown override specifier
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(66) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(67) : error C3646: ‘filterSampleRate’: unknown override specifier
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(67) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(60) : error C3646: ‘matrix’: unknown override specifier
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(60) : error C2143: syntax error: missing ‘,’ before ‘’
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(60) : error C2143: syntax error: missing ‘)’ before ‘;’
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(60) : error C2238: unexpected token(s) preceding ‘;’
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(65) : error C2143: syntax error: missing ‘;’ before '

plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(65) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(65) : error C2238: unexpected token(s) preceding ‘;’
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(66) : error C3646: ‘filterCutoffFrequency’: unknown override specifier
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(66) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(67) : error C3646: ‘filterSampleRate’: unknown override specifier
plugins\artoolkitplugin\source\artoolkitplugin\public\ARToolkitFunctionLibrary.h(67) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

Please let me know, how to fix the above errors and use this plugin in my project.

Regards,

Yes, it does but you need the source code version to make it work.

Please send me an email to info@unreal4ar.com with your order number, and I’ll send you a new link.

Hey guys, so i’ve played around with it so far and i’m loving it! First things first though, how do i make a mesh per marker?

For instance i want hiro marker to be the bike, and then another marker to show the chair?

Thanks so much :slight_smile:

Thx for the fast answer.
Just bought the commercial licence and i will check it out :slight_smile:
best regards

=> It works! :wink:

Is there anyone, who has tried using this Plugin in C++ ?

My project is not using much of Blueprints.

You can check the visibility property of each markers from the GetMarker node and show / hide your meshes accordingly.

Hey , im trying to set multiplayer play by having each player use one “AdvancedARToolkit”, basically having two ARToolkits actor, each with a different auto activate for player 1 to 4, but duplicating the actor crashes the engine. Is there absolutly no possibility of doing multiplayer with this plugin?

MachineId:D7F25AE844430CA7C7D83A951B754FA4
EpicAccountId:c723a2549396451db4fe0c31db03f387

C++ EH exception - code e06d7363 (first/second not available)

KERNELBASE
VCRUNTIME140
UE4Editor_ARToolkitPlugin!vision::VisualDatabase<vision::FREAKExtractor,vision::BinaryFeatureStore,vision::BinaryFeatureMatcher<96> >::addKeyframe()
UE4Editor_ARToolkitPlugin!vision::VisualDatabaseFacade::addFreakFeaturesAndDescriptors()
UE4Editor_ARToolkitPlugin!kpmSetRefDataSet()
UE4Editor_ARToolkitPlugin!FARToolkitDevice::LoadMarkersNFT() [f:\advancedblueorchi\advancedblueorchid\plugins\artoolkitplugin\source\artoolkitplugin\private\artoolkitdevice.cpp:1131]
UE4Editor_ARToolkitPlugin!UARToolkitComponent::LoadMarkersNFT() [f:\advancedblueorchi\advancedblueorchid\plugins\artoolkitplugin\source\artoolkitplugin\private\artoolkitcomponent.cpp:184]
UE4Editor_ARToolkitPlugin!UARToolkitComponent::execLoadMarkersNFT() [f:\advancedblueorchi\advancedblueorchid\plugins\artoolkitplugin\source\artoolkitplugin\public\artoolkitcomponent.h:14]
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll

Update :

Taking off the Load NFT Markers load now doesnt crash the engine anymore, but webcam wont init… I placed first ARToolkit at player 1 and second at player 2, but none will initiate from webcam.
Any solution?

Thanks !

Ok So i’ve tried this, I opened the ARtoolkitsimple and modified the blue print map level.

I duplicated the node “transform hiro” Node box and just changed the mesh to another mesh and changed the marker to the Kanji Marker

But when i try it out on my android the Hiro marker is the only 1 that works.

Below are some images
Event Tick.jpg
c8acce637eb7726ec7a45e2157daf97202fcb552.jpeg
KAnji.jpg

Edit, I fixed it. I was exporting as ECT1 which didnt support the pbr materials(Gold, Shiny Black. ect) Ill leave this here for people to see how your blueprints should look to have different mesh for different markers

New version of the plugin is available for download!

AR Plugin V1.7 - 2017-02-23

  • Updated for Unreal Engine v4.15
  • Fixed project name for Android
  • Fixed camera permission for iOS - NSCameraUsageDescription added to AdditionalPlistData
  • Minor bugfixes

Note: Make sure to update your CodeWorks for Android to version 1R5

Android DEMO is available on google play: