Unity开发
文章平均质量分 76
爱尚游Bin
Unity Developer
展开
-
Unity 使用Timer实现计时器
该插件实现了时间计时功能的大部分功能,调用十分简单,具体其他功能可以参考里面的demo场景。实现倒计时的简单示例:using UnityEngine;using System.Collections;public class TimerTest : MonoBehaviour { // Use this for initialization void Start () { ...原创 2019-12-15 12:28:09 · 1350 阅读 · 0 评论 -
SVN 管理unity项目
SVN安装SVN服务器端下载地址:https://www.visualsvn.comJserver/download/SVN客户端下载地址:https://tortoisesvnnet/downloads.html安装过程非常简单,在安装过程中可以自定义软件安装位置和库文件以及备份文件的位置,直接点击下一步即可完成安装。SVN服务器端创建项目管理库1、打开svn服务器端安装路径下(我的安...原创 2019-12-15 11:26:48 · 2699 阅读 · 0 评论 -
Unity 摄像机针对不同层级的物体进行渲染常用设置
camera.cullingMask = -1; //对应 everythingcamera.cullingMask = 0; //对应 nothingcamera.cullingMask = ~(1 << x); // 渲染除去层x的所有层 camera.cullingMask &= ~(1 << x); // 在原来的基础上关闭x层 ...原创 2019-12-03 13:18:42 · 1966 阅读 · 0 评论 -
Unity 实现UGUI物体不被其他物体遮挡的方法
在VR开发过程中,为了避免UI界面被三维场景中物体遮挡的问题,可以通过编写shader使UGUI物体优先于其他物体渲染,解决UI界面被遮挡的问题。1、新建 Standard Surface Shader 并命名为:Overlay2、将下面的shader代码,复制粘贴后保存。3、新建材质球material,在Shader中选择UI/Overlay4、将需要优先渲染的UGUI组件物体附上新建的...原创 2019-11-21 16:56:45 · 6843 阅读 · 7 评论 -
Unity 使用VRTK获取射线检测碰触的物体信息
steam VR 版本:SteamVR plugin for Unity - v1.2.3VRTK版本:VRTK - Virtual Reality Toolkit - [ VR Toolkit ]3.3.0检测三维物体1、创建脚本,并获取VRTK_Pointer的引用2、注册DestinationMarkerEnter方法VRTK_Pointer vrtk_point; void S...原创 2019-11-18 16:14:19 · 5146 阅读 · 2 评论 -
Unity 串口通信发送与接收数据
数据发送串口通信发送数据时需要将数据转换为十六进制内容using UnityEngine;using System;using System.IO.Ports;public class spSend : MonoBehaviour{ public SerialPort sp; //串口名字 static public byte[] strSend = new...原创 2019-10-29 10:26:05 · 3856 阅读 · 3 评论 -
Unity Oculus Rift手柄交互
void Update () { if ( OVRInput.GetDown(OVRInput.RawButton.DpadDown) ) { Debug.Log("OVRInput.RawButton.DpadDown:手柄方向键↓ "); } if ( OVRInput.GetDown(OVRInput.RawButto...原创 2019-10-24 12:01:04 · 1430 阅读 · 0 评论 -
Unity 判断是否在UI界面上触发点击事件
在应用程序中时常出现即有二维界面交互,又有三维场景物体交互的情景,可能出现二维UI界面与三维场景中交互物体重叠在一起,当有点击事件时会出现同时触发UI界面和三维物体的事件的问题,通过一下方法可以作为区分,实现分别控制二维界面和三维场景物体交互。 /// <summary> /// Whether touch down or mouse button down over UI ...原创 2019-10-23 13:19:18 · 3220 阅读 · 0 评论 -
Unity 不规则UI图片添加点击事件
对于项目中UI设计是非规则图像时,并且需要在不规则图片上能够响应触发事件,使用常规的boxCollider很难达到设计需求。解决方法:1、为不规则图片添加Polygon Collider 2D组件。2、通过使用Editor Collider调整使得碰撞检测区域与图片规则形状相吻合。3、添加事件脚本完成交互功能,代码如下using System.Collections;using Sys...原创 2019-10-23 10:43:20 · 1187 阅读 · 0 评论 -
Unity 将字符串信息生成二维码图片
实现在unity中将字符串信息内容转换为二维码图片显示,通过扫一扫功能即可识别二维码解析内容。导入Unity二维码插件 (下载链接)引入需要的命名空间using ZXing;using ZXing.QrCode;具体实现方法 public RawImage QR; //存储二维码图片 public void creatQR() { //存放二维码 ...原创 2019-10-16 09:43:09 · 833 阅读 · 0 评论 -
Unity 加载AssetBundle的几种方式示例
结合Unity官网unity Manual 给出关于AssetBundle的一些加载方法,通过简单示例进行学习总结。使用Unity版本 unity 2018.4.1 ,其中官网中介绍关于UnityWebRequest加载方式在unity2018中的测试是有问题的,经过研究后已经解决!(unity官网中没有对这块的进行更新)附上测试代码using System.Collections;usi...原创 2019-08-06 11:57:54 · 823 阅读 · 0 评论 -
Unity 国产操作系统中安装Unity2017开发环境
国产操作系统有深度、中标麒麟、优麒麟等等,通过我的尝试,目前只有Deepin深度系统能够成功安装linux版Unity。linux版Unity下载地址:https://forum.unity.com/threads/unity-hub-v-1-6-0-is-now-available.640792我下载的版本是: Unity-Linux-2017.2.0b11步骤:1、在实体机安装深度系统...原创 2019-07-26 18:01:36 · 3742 阅读 · 0 评论 -
Unity 在Ubuntu系统中运行Unity发布Linux平台程序的方法
Unity 可以发布跨Android、Windows、Mac以及Linux等平台的应用程序。本案例测试使用Windows系统Unity环境下,发布Linux应用程序,并在Ubuntu19.4系统成功运行。步骤1、unity添加Linux平台发布环境。(可以通过Unity安装器进行选择安装)2、unity切换Linux平台,本案例仅为测试,因此直接发布即可。3、发布后的Linux程序如下图:...原创 2019-07-23 17:53:52 · 12895 阅读 · 4 评论 -
Unity 使用监听事件的几种常用示例
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;public class UnityEventTest : MonoBehaviour{ public UnityAction myAction; public Uni...原创 2019-06-21 13:48:08 · 10273 阅读 · 0 评论 -
Unity 对象池
为了解决大量创建重复对象造成的内存损耗,我们采用对象池的方式来解决。using UnityEngine;using System.Collections;using System.Collections.Generic; public class PoolManager : MonoBehaviour { //单例模式, public static Pool...原创 2019-06-06 11:54:24 · 192 阅读 · 0 评论 -
Unity 设置Android端设备UI界面自动旋转功能
void Awake(){ //设置屏幕自动旋转, 并设置支持的方向 Screen.orientation = ScreenOrientation.AutoRotation; Screen.autorotateToLandscapeLeft = true; Screen.autorotateToLandscapeRight = true; Screen.a...原创 2019-06-12 17:57:05 · 1606 阅读 · 0 评论 -
Unity FSM有限状态机
FSM介绍FSM 即有限状态机,它是一个状态管理系统,表示一个对象的几种状态在指定条件下转移行为,即随着条件的不断改变内部状态不断地切换。用途通常使用FSM去实现一些简单的AI逻辑,对于游戏中的每个对象都可以在其生命周期中分出一些状态,比如一个怪物,他可能在休息,或者巡逻,当玩家出现时,他的状态可能切换为追逐敌人或者攻击敌人,当某些条件成立时,状态机从当前状态转移到下一状态,在不同状态下有不...原创 2019-09-12 15:41:13 · 354 阅读 · 0 评论 -
C# Socket异步通讯_客户端
using System;using System.Net;using System.Net.Sockets;using System.Text;namespace SocketTest{ public class AsynSocket_Client { public static Socket client; public static...原创 2019-05-24 10:42:15 · 1199 阅读 · 0 评论 -
Unity 发布IOS平台并部署到真机上测试的方法
准备Mac OS系统使用Unity做IOS开发,需要一台苹果系统的电脑,如果没有,那就用虚拟机或者安装黑苹果吧,虽然Windows版Unity也可以跨平台发布IOS,但是问题多的让你怀疑人生。虚拟机安装Mac OS请参见:VMware 14虚拟机安装Mac OS 10.14详细教程安装Mac版Unity 软件在Unity官网下载Mac版Unity,最好使用安装器进行安装,可以选择你所需要...原创 2019-08-20 17:51:17 · 5653 阅读 · 0 评论 -
Unity 使用Vuforia实现识别图后触发其他事件的方法
在ImageTarget组件物体上找到DefaultTrackableEventHandler脚本,使用VS打开,通过里面的两个方法实现OnTrackingFound()—>识别图片成功后触发OnTrackingLost()—>识别图丢失后触发通过上面两个方法可以实现 控制音频、视频和动画等的播放与停止。代码:/*===============================...原创 2019-08-21 12:08:30 · 4136 阅读 · 1 评论 -
Unity 录制模型动画并导出至Maya编辑的方法
本案例实现功能为在Unity编辑器中逐帧记录模型的动画,并可以将记录的动画片段保存下来,和模型一并导出为FBX,导入到Maya中,进行对模型和动画的调节。意义:Unity可以结合动作捕捉软件,使复杂的模型动画在Unity中记录保存下来,可以导入到Maya中,动画师进行修改和调整即可。开发环境及工具软件:Unity2018.4Maya2018工具:Unity RecorderFbx ...原创 2019-08-21 17:22:50 · 5496 阅读 · 5 评论 -
Unity 使用Protobuf对数据进行序列化与反序列化
Protobuf是google开源的一个项目,用户数据序列化反序列化,google声称google的数据通信都是用该序列化方法。它比xml格式要少的多,甚至比二进制数据格式也小的多。Protobuf格式协议和xml一样具有平台独立性,可以在不同平台间通信,通信所需资源很少,并可以扩展,可以旧的协议上添加新数据。Protobuf是在java和c++运行的,Protobuf-net当然就是Pro...原创 2019-10-29 16:15:56 · 1301 阅读 · 0 评论 -
Unity UDP通讯服务端示例
using UnityEngine;using System.Collections;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;public class UDP_server : MonoBehaviour{ public string ipAddre...原创 2019-09-27 17:59:11 · 752 阅读 · 1 评论 -
Unity UDP通讯客户端示例
using UnityEngine;using System.Collections;using System;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;public class UDP_Client : MonoBehaviour{ public...原创 2019-09-27 18:00:04 · 1257 阅读 · 1 评论 -
Unity 实现Android平台打开其他应用程序
/// <summary> /// 安卓平台Unity打开其他应用程序 /// </summary> /// <param name="pkgName">pkgName="com.xxxx.另外一个应用包名"</param> void openPackage(string pkgName) { ...原创 2019-10-08 14:12:09 · 1634 阅读 · 2 评论 -
Unity 使用UnityWebRequest从服务器中下载文件
为测试在本地搭建IIS服务器(本地搭建IIS服务器方法),将需要下载的文件拷贝到指定位置,通过url即可下载文件到指定的文件夹目录中。测试代码如下using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine.Networking;...原创 2019-10-11 11:52:05 · 11220 阅读 · 0 评论 -
基于Unity的HoloLens开发环境搭建及配置
开发环境所需软件搭配1.unity5.6.1(64-Bit);2.HoloToolkit.package(直接导入unity);3.Windows 10 SDK;4.VS 2017/ VS 2015(Update3);开发环境搭建步骤1.在unity5.6.1(64-Bit)中新建项目名为HoloLens。2.导入HoloToolkit-Unity-v1.5.7.0包。3.将目录H...原创 2019-01-14 13:26:58 · 2596 阅读 · 0 评论 -
Unity 异步加载场景并显示加载进度
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.UI;public class AsyncLoadScene : MonoBehaviour { public stat...原创 2019-05-17 09:04:36 · 544 阅读 · 1 评论 -
Unity 通过XML保存场景物体信息
在项目工程中,将此脚本放置Editor文件夹中即可,在菜单栏中可以使用该命令导出场景信息内容保存为xml,文件存储到StreamingAssets文件夹中。using System.IO;using System.Xml;using UnityEditor;using UnityEditor.SceneManagement;using UnityEngine;public class...原创 2019-04-30 16:13:26 · 1784 阅读 · 0 评论 -
Unity 使用MD5方式对数据的加密与解密
在脚本中引用:using System.Security.Cryptography;加密/// <summary> /// 加密 返回加密后的结果 /// </summary> /// <param name="toE">需要加密的数据内容</param> /// <returns></ret..原创 2019-01-22 14:56:43 · 2663 阅读 · 2 评论 -
unity 设置屏幕自适应并全屏显示
屏幕自适应为了程序能够在不同分辨率的显示器中正常显示我们的程序UI界面,我们需要对canvas进行设置:1、将UI Scale Mode选项中Constant Pixel Size更改为Scale With Screen Size。2、可以设置Reference Resolution (默认分辨率):可以根据需要是显示的分辨率进行设置,一般横屏设置为19201080;竖屏设置为:108019...原创 2019-01-16 13:52:34 · 24653 阅读 · 0 评论 -
Unity 实现鼠标滑过UI时触发动画
在有些需求中会遇到,当鼠标滑过某个UI物体上方时,为了提醒用户该物体是可以交互时,我们需要添加一个动效和提示音。这样可以提高产品的体验感。解决方案1、给需要有动画的物体制作相应的Animation动画。(相同动效可以使用同一动画复用)2、给需要有动画的物体添加脚本。脚本如下:using System;using System.Collections;using System.Colle...原创 2019-01-21 14:02:35 · 5211 阅读 · 20 评论 -
Unity Animation动画倒播
void BackPlayAnimByAnimClip(GameObject GO, string AnimClip) { if ( GO != null ) { Animation Anim = GO.GetComponent<Animation>(); if ( Anim != null ) ...原创 2019-01-15 11:47:19 · 7174 阅读 · 0 评论 -
Unity与单片机进行串口通信时鼠标乱跳的解决方案
unity项目开发中,会遇到与硬件设备结合,一般采用串口通讯实现。最近遇到了一个问题是当发布的程序设置开机自启后,会出现鼠标不受控制,鼠标在屏幕中任意跳动的现象。怀疑是单片机串口与鼠标的串口识别的问题。通过查询相关资料。问题原因是:有些鼠标也是串口的,现在的操作系统也依然支持,在开机启动时系统误将单片机串口数据给了鼠标,导致这个问题的出现。解决办法:将系统中鼠标串口驱动卸载并在系统文件中删除s...原创 2019-01-25 10:53:06 · 2791 阅读 · 3 评论 -
Unity 动态加载并播放3D max导入的模型非自身动画(Animation)的方法
带有动画的3D max 模型导入Unity中,一般会自动设置为Animator的新动画系统,若想使用Animation的形式播放,需要进行一下设置。1、在Project中找到导入的模型物体FBX,打开Inspector面板2、在Inspector中选择Rig中Animation Type,将Generic 设置为Legacy,如下图3、点击Apply,完成由Animator转换为Anima...原创 2019-01-09 10:19:20 · 10088 阅读 · 0 评论 -
Unity与MySQL数据库连接和交互常用方法
导入必需的动态链接库Unity连接MySql数据库时,需要导入必需的动态链接库(dll)1、在Unity的安装目录D:\unity2017.2.0f3\Editor\Data\Mono\lib\mono\2.0引用dll文件:I18N.CJK.dll、I18N.dll、I18N.West.dll、I18N.MidEast、I18N.Rare、I18N.Other、System.data.dl...原创 2019-01-18 17:32:20 · 4109 阅读 · 5 评论 -
Unity 从Resources中动态加载Sprite图片
public Sprite LoadSourceSprite(string relativePath) { //Debug.Log("relativePath=" + relativePath); //把资源加载到内存中 Object Preb = Resources.Load(relativePath, typeof(Sprite));...原创 2019-01-08 09:15:59 · 19293 阅读 · 2 评论 -
unity 发布运行置顶的方法
在发布PC端,需要多个摄像机在不同显示器上显示内容时,为防止程序在运行时出现最小化的现象,可以在 打包程序时,在播放器设置中勾选“Visible In Background”选项,就可解决该问题。...原创 2019-01-07 17:53:17 · 1762 阅读 · 0 评论 -
unity3D单例模式示例
using UnityEngine;/// &lt;summary&gt;/// 管理所有的Bool状态/// &lt;/summary&gt;public class AllBoolManager : MonoBehaviour{ /// &lt;summary&gt; /// 单例模式全局控制布尔判断 /// &lt;/summary&原创 2019-01-07 17:49:50 · 219 阅读 · 0 评论 -
unity 对XML文件的创建、写入、读取、更新等的操作
本案例使用unity版本:unity5.6.1f1编程工具:VS2015项目开发中,会使用xml作为软件的配置文件,在这里记录一下关于XML的基本操作。本案例将XML文件创建在StreamingAssets文件夹中,若工程中不存在该文件夹请自己创建。(保存到该文件夹,便于在项目发布时,能够将配置文件一并打包到程序中,并且不被压缩便于日后修改)引用命名空间:using System.IO...原创 2019-01-07 17:47:30 · 9136 阅读 · 3 评论