zoukankan      html  css  js  c++  java
  • unitty导出工程嵌入iOS原生工程中出现黑屏,但是模型还是可以扫。

    一般上出现这个问题,其实就是因为两个注意点没有搞清楚。我们分析一下,如果我们的模型或者视屏能够出来但是屏幕还是黑屏的。说明我们的unity的组件其实已经加载出来了。但是供我们交互的那个Layer类并没有按照我们预想的样子工作。断点查看发现是一个空指针0x0。初步怀疑是VuforiaNativeRendererController这个方法异常工作造成的,所以有了以下的解决过程。

    一、如果我们这么写

    const char* AppControllerClassName = "AppDelegate";
    
    int main(int argc, char* argv[])
    {
        @autoreleasepool
        {
            UnityInitTrampoline();
            UnityParseCommandLine(argc, argv);
            
            RegisterMonoModules();
            NSLog(@"-> registered mono modules %p
    ", &constsection);
            RegisterFeatures();
            std::signal(SIGPIPE, SIG_IGN);
            UIApplicationMain(argc, argv, nil, [NSString stringWithUTF8String:AppControllerClassName]);
        }
        return 0;
    }

    我们其实得到的入口代理[UIApplication sharedApplication].delegate所映射并不是我们预想的AppDelegate类名。而是unity那边给我们提供的专门为了与原生交互继承于UnityAppController类的一个子类名字叫VuforiaNativeRendererController的类。其中虽然有帮我们重写了shouldAttachRenderDelegate方法。但是并不能真正实现我们预想的交互效果。

    二、我们换种写法的话,就完美绕过了VuforiaNativeRendererController这个类的干扰。现在画面应该已经出现了。详细请看我的上一篇博客http://www.cnblogs.com/fuunnyy/p/6227740.html。有详细的步骤。

    const char* AppControllerClassName = "AppDelegate";
    
    int main(int argc, char* argv[])
    {
        @autoreleasepool
        {
            UnityInitTrampoline();
            UnityParseCommandLine(argc, argv);
            
            RegisterMonoModules();
            NSLog(@"-> registered mono modules %p
    ", &constsection);
            RegisterFeatures();
            std::signal(SIGPIPE, SIG_IGN);
            NSString *ss = NSStringFromClass([AppDelegate class]);
            UIApplicationMain(argc, argv, nil,ss);
        }
        return 0;
    }
  • 相关阅读:
    svn的使用
    判断某个ImageView的背景图是否是已知的背景图相等
    关于fragment点击穿透的问题
    使用fragment添加底部导航栏
    HTML基本格式
    Handler机制
    在Android studio中到入Eclipse
    关于即来即停app的功能
    Memcached 笔记与总结(8)Memcached 的普通哈希分布算法和一致性哈希分布算法命中率对比
    大数据对互联网金融的影响
  • 原文地址:https://www.cnblogs.com/fuunnyy/p/6228277.html
Copyright © 2011-2022 走看看