11 程序员正茂

尚未进行身份认证

我要认证

擅长C++、ObjectArx、C# Winform等Windows程序开发,目前专注于Unity3d开发。

等级
TA的排名 1w+

Unity3d数字地球三维建筑模型、数字城市

Unity3d实时加载全球三维建筑模型,生成数字城市。欢迎交流QQ515716030https://www.bilibili.com/video/BV1S5411Y71u/https://www.bilibili.com/video/BV1S5411Y7HJ/

2020-07-09 09:17:03

Unity3d读取GIS数据(ShapeFile格式文件)

最近接到一个需求,要求unity3d中读取ShapeFile格式文件。原以为找个插件几下就能搞定,结果找了一大圈一无所获。参考了一些代码,但是都不是针对Unity3d平台的,看来只好自己搞了。研究了一下ShapeFiles格式,搞出来了。(下图中还未完成文字的加入相关开发)GIS软件原图...

2020-06-14 17:41:43

SteamVR2.0基本思路及快速入门

SteamVR2.0(我这里用v2.5版本)的动作捕捉与MFC中的变量绑定很相像,大致分三步(1).在SteamVR Input中定义量A变量类型决定可绑定哪个动作。比如要检测手柄扣板机动作,可以检测是否扣了扳机(对应bool变量),也可以检测扣了多大幅度(对应single或Vector1变量)。(2).将变量A与某个动作绑定(3).在代码中使用变量A经过上面三步,实现了代码与硬件的通信,变量A是中间媒介。当变量A绑定了新的按键动作时,代码不用修改就可适配,解耦了硬件与代码。下面开始

2020-06-10 16:18:03

使用pyinstaller打包出现了UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce

在cmd下(编译exe的那个控制台命令行黑框),直接输入:chcp 65001然后回车,重新执行此前的编译代码即可。

2020-05-31 16:52:48

Unity3d使用UMP插件播放网络视频流(rtsp、rtmp、onvif)

1.新建场景,将Assets\UniversalMediaPlayer\Prefabs\UniversalMediaPlayer.prefab拖入到场景中。2.在UI的Canvas下创建RawImage,并添加ARVideoCanvasHelper组件。在RawImage组件中,将Material设为为ARVideoCanvasMaterial。在ARVideoCanvasHelper组件中, 将MediaPlayer设为UniversalMediaPlayer3.选中UniversalM

2020-05-28 10:19:45

Unity3d中使用Apriltag单目测距

Hr为二维码高度,单位CMLr为二维码到相机焦点的距离,单位CMHv为二维码在照片的高度,单位可为像素,在Unity中transform中的localScale值Lv为相机的焦距第一步,求相机焦距已知:Hr为4.65cm(用卷尺直接测量)Lr为40cm(用卷尺直接测量,起点为摄像头的透镜中心处,差不多就行)Hv为2.276(transform中的localScale值)Lv=Lr*Hv/Hr=19.578494623655第二步,求真实距离经过第一步已经求出焦距..

2020-05-27 13:14:07

Unity3d获取与Inspector面板Rotation一样的欧拉角

使用transform.localEulerAngles.x或transform.rotation.eulerAngles.x输出的欧拉角与Inspector面板中的Rotation值是不一样的。原因:Inspector面板中的Rotation值系统做了转化处理,而不是直接取的欧拉角。 private void OutputInpectorEulers() { Vector3 angle = transform.eulerAngles; float

2020-05-27 10:28:55

Unity3d图像识别位置跟踪Apritag

接上一篇《CMake+VS2019编译ViSP工程》一、编译ViSPUnity.dll 下载工程 C:\> cd %VISP_WS%C:\> git clone https://github.com/lagadic/visp_unity 构建链接到ViSP的包装器 C:\> cd visp_unityC:\> mkdir vispWrapper-build-vc16C:\> cd vispWrapper-build-vc16C:\&..

2020-05-26 12:43:31

CMake+VS2019编译ViSP工程(可用于Apriltag识别)

官方安装教程:https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-win10-msvc16-uwp.html一、安装VS2019、CMake、git1.安装VS2019。在【工作负载】选中【使用C++的桌面开发】,在【单个组件】中选中【用于Windows的C++ CMake工具】。2.安装CMake。从官网获取后点击下一步安装即可。安装后从将CMake.exe所在路径添加到环境变量,这样才能在cmd命令行中使用CMa

2020-05-26 11:56:15

python-OpenCV程序打包后无法正常运行的解决方法

将python下的OpenCV的DLL复制以打包后的目录中,与exe位于同一目录即可。D:\ProgramData\Anaconda3\Lib\site-packages\cv2\opencv_videoio_ffmpeg420_64.dll

2020-05-23 20:46:33

pyinstaller程序发布问题记录

注:下文中wslng为用户文件夹,注意替换1.FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\wslng\\dist\\main\\astor\\VERSION'将C:\Users\wslng\AppData\Local\Programs\Python\Python36\Lib\site-packages\astor文件夹复制C:\Users\wslng\dist\main目录下即可。2.执行如下命令p

2020-05-23 18:33:45

Unity3d游戏画面实时同步html5或WebGL中(基于FMETP STREAM)

一、准备画面发送端1.新建unity3d工程(这里的版本为Unity3d2018.4.14),导入FMETP STREAM插件(没有这个插件的找我,我已经买了)。2.在场景创建空实体FMSocketIOManager,添加FMSocketIOManager组件,将Networktype设为Server3.在场景创建空实体GameViewEncoder,添加GameViewEncoder组件4.选中Main Camera右键选择【Duplicate】,将Main Camera复制一个,

2020-05-23 14:52:04

unity3d高级网络连接NetworkServer及NetworkClient(HLA)

注意:根据unity官方说明文档,例子中使用到的类可能在Unity后面的版本删除。Unity网络提供高级API(HLA)来处理从低级实现中抽象的网络通信。在此示例中,我们将了解如何创建可与一个或多个客户端通信的服务器。HLA允许我们轻松地序列化类并通过网络发送此类的对象。我们用来序列化的类这个类必须来自MessageBase,在这个例子中我们只会在这个类中发送一个字符串。using System;using UnityEngine.Networking;public class MyNe

2020-05-21 19:39:06

OpenCV for Unity鱼眼校正

//实际测试时D取以下值更好(0, 0, -0.1222723392670962, 1.8382109174553397, 0.004643509151558462, 0.003429485001340429, -0.09370053614249967); //摄像机内参数矩阵 Mat K = new Mat(3, 3, CvType.CV_64FC1); K.put(0, 0, 964.2931236266057, 0, 621.

2020-05-16 23:09:45

opencv-python在pySide2 pyQt5中显示图像

import cv2import sysfrom PySide2.QtCore import QTimer, QSizefrom PySide2.QtGui import QImage, QPixmapfrom PySide2.QtWidgets import QWidget, QLabel, QPushButton, QVBoxLayout, QApplicationclass MainApp(QWidget): def __init__(self): QW...

2020-05-13 20:16:54

ImageAI实时检测自定义对象(自己训练的数据)

import cv2,osfrom imageai.Detection.Custom import CustomObjectDetection execution_path = os.getcwd()detector = CustomObjectDetection()detector.setModelTypeAsYOLOv3()detector.setModelPath("hololens-ex-60--loss-2.76.h5")detector.setJsonPath("det...

2020-05-13 16:13:24

Python把16进制字符串转换为ascii码字符串

int("0x31", 16)将16进制转换为10进制:>>> int("0x31",16)49但是要将其转换为字符,您应该改用以下chr(...)函数:>>> chr(49)'1'将它们放在一起(在第一个字母上):>>> chr(int("0x53", 16))'S'并处理整个列表:>>> [chr(int(i, 16)) for i in "0x53 0x48 0x41 0x53 0x48

2020-05-11 22:33:16

Python使用pyside2编写界面

本次测试以Anaconda为Python安装工具,Pycharm为代码编写工具。如果无法运行,参考这里的解决办法。1.安装pyside2pip install pyside2 -i https://pypi.douban.com/simple/2.打开Qt Designer(路径:D:\ProgramData\Anaconda3\Lib\site-packages\PySide2\designer.exe),3.随便拖几个控件,保存为test.ui(绝对路径:‪D:\Tmp\tes.

2020-05-11 15:56:00

解决PySide2的This application failed to start because no Qt platform plugin could be initialized问题

学习使用PySide2,按照官网说明,一步一步做,报错“This application failed to start because no Qt platform plugin could be initialized”解决办法在代码中加入如下代码即可import sys,osimport PySide2dirname = os.path.dirname(PySide2.__file__)plugin_path = os.path.join(dirname, 'plugins',

2020-05-11 13:27:31

Unity发布的webgl程序部署到云服务器上无法正常运行的解决办法

Unity发布成webgl平台下,打开文件夹可以看到有几个unityweb结尾的文件。将整个文件包上传到云服务器,无法正常运行。报错:An error occured running the Unity content on this page。通过网络搜索,结果unity官方文档,发现需要添加MIME设置即可。那么MIME是什么呢?MIME(Multipurpose Internet...

2020-04-27 22:41:05

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。