项目基于unity2017.1

Step 1:导入模型,设置真机分辨率

模型坐标归0,这个不用说

由于我的手机是i7所以设置了1334*720的分辨率

Step 2:创建摄像机

新建一个空物体,归零坐标重命名为CameraManager,创建四个子物体Camera分别位于模型的前后左右

重点:前后左右的Camera保持对称即可,由于模型的大小不一所以摄像机的坐标会有偏差,调整四个方向的Camera角度使模型的顶部对屏幕的中央,这样投影出来的模型才不会翻

这个我的四个Camera坐标

Step 3:修改Camera属性

修改Camera的ClearFlagsSolid Color,计算Viewport Rect值,如果部分画面显示不出来修改Depth值(四个Camera设置为不同的值应该就可以了)

为了方便日后使用我直接用脚本,挂载到CameraManager上,设置分辨率,拖拽对应Camera到面板就可以了,最后复制Game模式控制台的参数就可以了

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class CameraSetting : MonoBehaviour {
    public Camera _topCamera;  
    public Camera _bottomCamera;
    public Camera _leftCamera;
    public Camera _rightCamera;
    public int _width; //屏幕宽度
    public int _high;  //屏幕高度
    public  delegate void CameraSetDelegate(Camera TargetCamera);
    public event CameraSetDelegate _cameraSetTopCamera;
    public event CameraSetDelegate _cameraSetBottomCamera;
    public event CameraSetDelegate _cameraSetLeftCamera;
    public event CameraSetDelegate _cameraSetRightCamera;
    Rect _cameraRect = new Rect();
    private void Awake()
    {
   
        _cameraSetBottomCamera += SettingCameraBottom;
        _cameraSetLeftCamera += SettingCameraLeft;
        _cameraSetRightCamera += SettingCameraRight;
        _cameraSetTopCamera += SettingCameraTop;
    }
    Rect OutRect(float width,float high,string cameraName)
    {
        _cameraRect.width = (float)Math.Round(((float)1 / 3 * high / width), 2);
        _cameraRect.height = (float)Math.Round((float)1 / 3, 2);
        switch (cameraName)
        {
            case "TopCamera":
                _cameraRect.x = (float)Math.Round(0.5-_cameraRect.width/2, 2);
                _cameraRect.y = (float)Math.Round((float)2/ (float)3, 2);
                Debug.Log("Top"+_cameraRect);
                break;
            case "BottomCamera":
                _cameraRect.x = (float)Math.Round(0.5- _cameraRect.width / 2, 2);
                _cameraRect.y = 0;
                Debug.Log("Bottom" + _cameraRect);
                break;
            case "LeftCamera":
                _cameraRect.x = (float)Math.Round(0.5+ _cameraRect.width / 2, 2);
                _cameraRect.y = (float)Math.Round((float)1 / 3, 2);
                Debug.Log("Left" + _cameraRect);
                break;
            case "RightCamera":
                _cameraRect.x = (float)Math.Round(0.5 - 3 * _cameraRect.width / 2, 2);
                _cameraRect.y = (float)Math.Round((float)1 / 3, 2);
                Debug.Log("Right" + _cameraRect);
                break;
        }
       
        return _cameraRect;
    }
    private void SettingCameraBottom(Camera TargetCamera)
    {
        TargetCamera.rect = OutRect(_width, _high, "BottomCamera");
    }
    private void SettingCameraTop(Camera TargetCamera)
    {
        TargetCamera.rect = OutRect(_width, _high, "TopCamera");
    }
    private void SettingCameraLeft(Camera TargetCamera)
    {
        TargetCamera.rect = OutRect(_width, _high, "LeftCamera");
    }
    private void SettingCameraRight(Camera TargetCamera)
    {
        TargetCamera.rect = OutRect(_width, _high, "RightCamera");
    }
    private void Start()
    {
       
        try
        {
            _cameraSetBottomCamera(_bottomCamera);
            _cameraSetLeftCamera(_leftCamera);
            _cameraSetRightCamera(_rightCamera);
            _cameraSetTopCamera(_topCamera);
        }
        catch (Exception e)
        {

Debug.Log( e.Message);
        }
    }
  
    
}


模型顶部必须朝向中央(再次强调)

Step 4 打包真机

因为作者用的是ios,安卓也都一样,直接设置运行模式为横屏(防止投影时自动翻转)

真机画面

unity全息技术入门打包至真机详解相关推荐

  1. [系统安全] 四十四.APT系列(9)Metasploit技术之基础用法万字详解及防御机理

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  2. Unity Shader中各部分定义内容详解

    Unity Shader中各部分定义内容详解 样板 Shader "Practice/Unlit/SimpleUnlit" {Properties{_MainTex (" ...

  3. 大数据是什么和大数据技术十大核心原理详解

     一.数据核心原理   从"流程"核心转变为"数据"核心   大数据时代,计算模式也发生了转变,从"流程"核心转变为"数据&quo ...

  4. 2010 27寸 imac 升级固态_2017 款 iMac,27 寸升级换 SSD 固态硬盘拆机详解

    想要 iMac玩游戏?怎么能带动?如何解决卡顿问题?别急,给您带来2017 款 iMac,27 寸升级换 SSD 固态硬盘拆机详解,拆机并不复杂,动手能力差的同学看了这篇文章会觉得原来我也可以,那让我 ...

  5. 【区块链开发入门】(四) Truffle详解篇2

    由于本篇篇幅较长,因此转为两篇文章.Truffle详解篇篇1请见:link 目录导航页 [区块链开发入门](一) 以太坊的搭建与运行 [区块链开发入门](二) 以太坊的编程接口 [区块链开发入门](三 ...

  6. 视频教程-Oracle数据库从入门到实用教程详解-Oracle

    Oracle数据库从入门到实用教程详解 全栈工程师,2010年从事软件开发以及软件教育培训工作,至今将近十余年,在项目的开发,设计,到管理上积累了丰富的实战经验,教学风格上通俗易懂,问题解答环节一对一 ...

  7. 《数据修复技术与典型实例实战详解》——1.4 分区表的修复

    本节书摘来自异步社区<数据修复技术与典型实例实战详解>一书中的第1章,第1.4节,作者:叶润华著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 分区表的修 ...

  8. 海尔微型计算机机箱如何拆解,海尔t628拆机详解

    电脑在我们这个时代已经是我们生活的必需品了,不管是在家里的生活方面还是在工作方面,电脑都能给我们带来极大的帮助.可是电脑毕竟只是一部机器,机器就避免不了出现问题的时候,有一些小问题我们又不想拿到外面去 ...

  9. 大数据技术十大核心原理详解

    一.数据核心原理--从"流程"核心转变为"数据"核心 大数据时代,计算模式也发生了转变,从"流程"核心转变为"数据"核心 ...

最新文章

  1. 比特币和以太坊本质有什么区别?
  2. Object Builder Application Block (2)
  3. mysql5.7环境搭建_mysql5.7.13环境搭建教程(解压缩版)
  4. hive多个表join_8个Hive数据仓工具面试题锦集!
  5. 分数混合运算简便方法_分数混合运算和简便运算
  6. 【winfrom】Excel文件加载
  7. mysql的四大线程_阿里一面就凉了:MySQL+多线程+Redis+算法+网络一个都没说明白...
  8. 《我和PIC单片机:基于PIC18》——2.2 MPLAB IDE集成开发环境
  9. 下载频道2013免积分人气资源大汇总
  10. 2022年ICASSP说话人日志(Speaker Diarization)方向论文泛读总结
  11. 【Android -- 职业】职业规划
  12. python中年大叔学编程_中年大叔学编程-我用Python保存金山词霸每日一句
  13. springcloud-eureka启动报错,提示The following method did not exist: org.springframework.boot.actuate.health
  14. python-函数读取内置函数序列化与反序列化
  15. 期刊论文发表能加分吗
  16. php 发送邮箱验证怎么做,PHP 实现 注册等的邮箱验证 (二)—— 使用 PHPMailer 发送邮件...
  17. Tirp(状压DP)
  18. ROS中,DWA算法的实现
  19. vue和layUi对比
  20. Windows电脑怎么重装系统?超详细教程!装机不再求人!

热门文章

  1. Filter Solutions 10.0+破解
  2. php判断是否手机,PHP如何判断是否为手机端
  3. java private修饰方法,private修饰的方法
  4. 三大传统招聘门户因商务社交网被迫谋变
  5. React组件的用法和理解
  6. 如何求指定数字在数组中第一次出现的位置
  7. 【NA】Hessenberg阵的QR迭代法
  8. 球半比分,美职业:费城联合-华盛顿联 7月9日
  9. python支付宝蚂蚁森林_Python+appium自动化实例(一):使用Python3+appium实现自动收取支付宝蚂蚁森林能量...
  10. lint-staged husky