1.嵌入相关配置
1)unity导出的工程与已有工程置于相同根路径下。

2)在已有工程引用三个文件夹,Data 选择Create folder references,Classes和Libraries 选择Create groups。


3)Remove Reference 掉Libraries中libil2cpp group,和Classes—>Native下的所有.h文件。
4)新建PrefixHeader.pch文件。在Classes下Prefix.pch文件代码拷贝至新生成的pct文件。添加 UnityAppController.h 的引用。

5)引用framework(注意Optional的三个)。

6)配置Build Setting。









7)处理iOS已有项目的main.m文件,将.m改为.mm,将Classes下的main.mm内容拷贝至新main文件中,并进行修改。

8)Build Phases中移除Classes下的main.mm文件。
UnityAppController.h

AppDelegate.h

AppDelegate.m

9)其他修改。
2.集成Google cardboard SDK 报错
http://qiita.com/ozawachev/items/ff0728ce4d01ece598ee
1/2
(已解决)
解决方法:增加中间变量

2/2
(待解决)

(已解决)2015.12.06 16:40

3.cardboard SDK 动态改变 AppControllerClassName,导致———— " -[CardboardAppController unityController]: unrecognized selector sent to instance 0x12d591bd0” 错误解决:固定启动appdelegate

4. startSettingsDialog:报错

网友评论
Profiler_InitProfiler();
切换偶尔是正常的,但有时候会显示错乱,麻烦看下
(void)showUnityWindow {
if (_didResignActive) {
UnityPause(false);
}
_didResignActive = NO;
UnityLoadApplication();
Profiler_InitProfiler();
self.window.hidden =YES;
self.unityWindow.hidden = NO;
[self.unityWindow makeKeyWindow];
}
(void)hideUnityWindow {
UnityPause(true);
_didResignActive = YES;
Profiler_UninitProfiler();
self.unityWindow.hidden = YES;
self.window.hidden = NO;
[self.window makeKeyWindow];
}
发送消息代码:
(void)wjBtnDidClicked {
[kAppDelegate showUnityWindow];
[self toUnityPageWithValue:@"wj"];
}
(void)scenesBtnDidClicked {
[kAppDelegate showUnityWindow];
[self toUnityPageWithValue:@"scenes"];
}
#pragma mark - 跳转到对应的Unity页面
(void)toUnityPageWithValue:(NSString *)value {
// TODO: 新增代码
//报错SendMessage: object Controller does not have receiver for function openSence! 说明UnitySendMessage传递的对象不具备相应的方法
const char *data = [value UTF8String];
/**
你那边需要打开场景的话 需要 传值给 OpenSence这个函数 通过ios给unity对象传值的方式 值有两个 "wj" 和 ”scenes“
"Controller" "openSence" "wj 或者 scenes"
*/
UnitySendMessage("Controller", "OpenSence",data);
}
有关这个的都报Expected ';' at end of declaration
Undefined symbols for architecture armv7:
"RegisterStaticallyLinkedModulesGranular()", referenced from:
RegisterStaticallyLinkedModules() in libiPhone-lib.a(RegisterStaticallyLinkedModules.o)
"RegisterAllClasses()", referenced from:
InitializeEngineNoGraphics() in libiPhone-lib.a(SaveAndLoadHelper.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
有遇到同样问题的么,请指教
第一种方式:unity3D开发工程师使用easyAR的unitySDK做一个AR的模型,然后导出Xcode工程,最后iOS工程师把这个导出的工程与原生的工程代码进行整合?
第二种方式:使用原生的OpenGLES引擎画出那个AR模型,我看easyAR的iOS示例Sample里面就是这种方法。但是手动openGL画3D模型也太难了吧?有没有什么工具把做出来的3D模型文件转换一下直接拿到项目里面使用?
我看你的代码应该做的的VR项目。AR应该也类似吧?
希望对你有帮助。