自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 一些独立功能工具脚本集合

一些独立的功能

2022-10-08 15:20:08 323 1

原创 AddressableAssets资源加载总结--使用工具自动创建组

有个需求需要自动创建组,避免手动拖拽,这里写了编辑器工具,借鉴了这篇文章:Unity 之 Addressable Asset System 之用工具创建group - 孤独の巡礼 - 博客园,工具代码如下:using System.Linq;using System.IO;using UnityEditor;using UnityEditor.AddressableAssets;using UnityEditor.AddressableAssets.Settings;using Unit

2022-03-14 19:16:37 5491

原创 Addressable Assets使用总结--资源加载

上篇简单介绍了Addresable的资源打包,这篇简单讲述一下资源加载的使用,首先创建一个简单的测试场景,添加几个按钮,分别进行加载测试:上面三个按钮是直接加载并响应生成事件,UI按钮是加载生成UI按钮,下面四个按钮是预加载后响应生成事件,其中Random按钮是随机生成。具体加载代码如下:using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using Uni

2022-03-14 19:02:28 4501

原创 Addressable Assets资源加载使用总结--资源打包

离开好久了,挤点时间记录下最近使用的Addressable的一些概要和注意事项,主要是为了优化WEBGL平台的加载,使用的不是很深,包括资源打包,本地加载和从服务器加载,废话不多说,开始:Addressable Asset的导入方式就不赘述了,我使用的版本是Unity2020.3.9,Addressable1.18.19...

2022-03-14 16:59:23 2847

原创 Unity功能点---模拟枪械射击时的后坐力

最近要在VR里面制作一个射击的功能,枪是外接设备也不知道有没有后坐力,模拟一个先以防万一这个是PC测试的,模拟的不是很真实,用摄像机的抖动造成后坐力的感觉,但是改改还是够用首先是枪的发射脚本:using UnityEngine;public class GunRecoil : MonoBehaviour{ private GameObject bullet;//子弹...

2019-12-25 09:13:28 3751

原创 Behavior Designer---打断机制

一共有四种中断类型的 abort types: None, Self, Lower Priority, and Both,点击对应节点,在Behavior Designer的Inspector下面板设置None:这种是默认的中断类型!Self:这是一种自包含中断类型。也就是会检测此节点下所有条件判断节点,即便是被执行过的节点,如果判断条件不满足则打断当前执行顺序从新回到...

2019-12-20 17:11:27 1778

原创 Behavior Designer---创建一个发现,追踪,攻击目标的行为树

最近项目可能需要用到一些简单的AI,就看了下Behavior Designer的使用,记录一下。这里做了一个敌人发现目标,并且追击攻击目标的行为树,其中包括视野范围,是否有障碍物等行为树的节点介绍可以看这里:Action行为动作节点Composites复合任务节点Conditionals条件任务节点Decorators装饰任务节点下面是我制作的行为树:行为树挂在...

2019-12-20 16:06:04 1634 1

原创 Unity功能点---使用LineRenderer任意划线,自动画圆。

首先是任意画线,添加了一个选择颜色和大小的功能,脚本挂在摄像机上在,UI是三个Toggle和一个Slider,先看效果:下面的代码:using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class DrawLine : MonoBehaviour{ private...

2019-12-20 08:33:38 2230 1

原创 Unity功能点---Unity动画的事件(在任一帧添加关联事件)

当我们需要在动画播放到某一帧的时候同时发生一个事件,比如对人物造成伤害,或者使某些物体隐藏出现等,我们可以通过动画时长来计算帧数,然后在某个动画的某个时间进行事件的触发,这种方法通常可能会使事件不能完全对上某一帧,我们可以直接通过编辑动画在动画帧上添加事件来完成我们需要的功能。我们在Unity里面编辑的动画可以直接在动画编辑界面处理添加事件的方法,通过外部导入的动画通常是只读的,需要找到动画点...

2019-12-12 16:11:16 3100 3

原创 C#---A++和++A的区别理解

简单代码看效果,先是A++:using System.Collections.Generic;using UnityEngine;public class Test : MonoBehaviour { public int A; public int B; private void Update() { if (Input.GetKey...

2019-11-27 17:28:10 1627

原创 VRTK3.2.1---自带场景案例功能简要描述,方便查找。

VRTK自带场景案例有44个,在VRTK/Examples下面,场景1和场景2没有具体功能就不说了。每个场景的详细说明可以去这里:详细.003_Controller_SimplePointer场景:手柄发射一条直线射线的功能演示.004_CameraRig_BasicTeleport场景:基础的使用直线射线传送的功能演示.005_Controller_BasicObjectGrab...

2019-11-20 17:30:48 1408

原创 Unity功能点---Base64位转UI

/// <summary> /// 把Base64位编码转图片在转UI; /// </summary> /// <param name="base64Str"></param> public void SetCodeImage(string base64Str) { Texture2D textu...

2019-11-20 09:16:49 181

原创 HTCVIVE---VRTK3.2.1的手柄按钮方法和功能响应(震动,判断左右手柄,圆盘上下左右)

引用VRTK。定义一个变量,用来获取判断手柄圆盘按下位置的角度,获取VRTK_ControllerEvents组件 private VRTK_ControllerEvents Events; public float Angle;//按下和抬起圆盘时获取按下位置的角度 private void Awake() { Events = transf...

2019-11-15 11:18:11 2538

原创 HTCVIVE---获取手柄TouchPad上下左右的按键响应(原生SDK 1.1.2版本)

using UnityEngine;public class GetTouchpadDirection:MonoBehaviour{ public SteamVR_TrackedObject TrackerObj; public SteamVR_Controller.Device device; private void Start() { ...

2019-11-13 14:36:31 1007

原创 HTCVIVE---使用Unet制作多人联机(使用位置赋值)

这里使用的方法时制作一个空的Player,使结构和CameraRig主要结构一致,然后实时获取CameraRig的手柄和头盔的位置,然后把Player的位置进行同步,对应的可见模型就添加在Player上面.首先创建了三个脚本:InteractionTest是负责具体交互功能同步测试的脚本,挂在Player上(仅交互功能测试使用,对同步VIVE位置信息没有作用)MappingIVIV...

2019-11-12 14:08:43 863

原创 Unity功能点---固定路线的移动(多个目标点)

很简单的功能,记录几种移动的方式:先上完整代码:using UnityEngine;using UnityEngine.AI;public delegate void FindPath();public class NavTest : MonoBehaviour{ public NavMeshAgent agent;//自身寻路代理 public Transf...

2019-11-12 11:16:17 4192 2

原创 Unity功能点---NavMesh的爬墙(OffMeshLink)和路障(NavMesh Obstacle)

记录一下自己的理解好久没有使用NavMesh寻路系统了,回忆记录一下,主要是爬墙功能和路障功能:爬墙功能需要在墙体添加OffMeshLing组件,然后设置爬墙的起始点,在墙上的运动点,从墙上下来的点,一个墙上可以添加多个OffMeshLing组件,以便将所有的点都连接起来:烘焙的参数设置就不多说了,这里主要是在Cube(墙)上添加了三个OffMeshLing组件将四个点进行连接,其...

2019-11-11 17:09:48 2485

原创 Unity功能点---动画控制BlendTree的使用和说明

温故而知新记录一下BlendTree的简单使用和说明,这里只针对二维动画的使用先添加一个动画控制器,添加一个空的动画名字叫Run:然后右键点击Run,添加一个BlendTree:右键添加的BlendTree添加动画,赋值:设置BlendType,我这里就是设置的笛卡尔坐标控制,动画只受自身坐标值影响,设置Parameters的参数名字。并且在控制器添加这两个Fl...

2019-11-11 15:16:04 2285

原创 Unity功能点---动画控制CrossFade方法的使用和简单说明

温故而知新。记录一下CrossFade的方法使用,主要用作跳转到指定动画的一个方法先添加一个动画控制器,把需要的动画添加进去,不需要添加任何逻辑关系:官方一个案例附带的动画,下面是控制代码:using UnityEngine;public class Test : MonoBehaviour{ public AnimationClip[] clips; ...

2019-11-11 11:14:14 17296

原创 Unity--向量点乘叉乘在Unity中的使用

记录一下。向量的点乘在Unity中使用Vector.Dot(v1,v2)方法进行运算,运算的过程其实是v1在v2的投影长度乘v2的长度(反之亦然)。得到一个标量结果,如果Vector.Dot(v1,v2)中的v1和v2均为单位向量,得到的则是v1和v2夹角的余弦值,用下面的代码来解释: Vector2 V1 = new Vector2(0, 2); Vect...

2019-11-07 16:55:40 1526

原创 Unity---视窗坐标转化和判断物体是否出了屏幕边界

视窗坐标转世界坐标和屏幕坐标,判断物体是否还在边界内,和判断从那边出界,先看效果:这里是直接拖动物体改变坐标来检测,从图中的打印可以清楚看到效果,旋转摄像机视角是同样的效果,下面是代码:using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public...

2019-10-10 17:16:27 1925 1

原创 Unity移动---使用WASD控制物体朝摄像机方向移动和旋转,并且自动贴合斜坡角度

这里的功能是使用WASD移动物体自身,物体朝向自身移动的方向,并且在移动时能够自动根据地面斜坡(角度)调整自身角度物体的移动方向也是基于摄像机的方向。这里是演示效果:我这里做的物体移动时贴合地面,无论地面是平的还是斜的。下面是代码:using System;using System.Collections;using System.Collections.Generic;...

2019-10-10 14:58:49 2899

原创 Unity移动---鼠标拖拽物体在3D空间移动(地面和非地面)

我这里脚本挂在了摄像机上:下面是脚本:using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test : MonoBehaviour{ private Vector3 currentPos; private Vector3 lastPos...

2019-10-10 10:45:25 1724 1

原创 Unity移动---朝向并移动到鼠标点击位置

回首望月。。。using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test : MonoBehaviour{ private Vector3 tempPoint; private bool Done; private void U...

2019-10-10 10:24:14 1717 1

原创 UnityWebGl--网页播放视频(使用AVPro和原生VideoPlayer)的坑和对视频的功能操作

最近做个WebGL项目,里面有个播放视频的功能,Uinty上面测试没问题,发布后在网页运行播放视频就GG了。在这里记录一下。关于部署IIS,这里有篇文章很详细https://www.cnblogs.com/W-Kr/p/5455862.html。需要播放视频需要配置IIS的MIME添加如下这个就是不能播放的大坑先看Unity自带的视频播放功能,:这里搞了个简单场景,对视...

2019-09-06 16:21:21 14544 11

原创 UnityWebGl--Unity和Web的通信

最近走网页存档功能,需要获取网页登陆的用户名,就收集整理了Unity和Web通信的一些知识。使用的Unity 2017.3.0的版本,提示方法过时,但是还可以用。新建一个项目,搭建一个简单的场景:创建一个Canvas,添加一个Test脚本。脚本里面内容:using System.Collections;using System.Collections.Generic;us...

2019-08-30 14:27:58 4425

原创 Unity选择外部图片设置头像封面功能

前面介绍了如何打来外部文件夹选择文件,下面来制作一个选择外部图片并在Unity设置成UI的Sprite.类似更改封面头像的功能主要的方法就是加载图片并创建成一个Sprite赋值给UI。 IEnumerator LoadPicture(string path) { WWW www = new WWW("file:"+path); yield retu...

2019-01-04 17:15:44 1371

原创 Unity打开外部文件夹并选择文件

最近需要做一个服务器一键开启客户端相同路径程序的功能,需要在服务器选择相应文件夹的程序,然后同时服务器客户度同时开启选中程序,首先需要从unity打开外部文件夹并选择文件的功能,具体操作如下:首先创建一个单独的类,用来储存打开的系统窗口的设置,下面的变量没有特殊要求不需要做任何改动:using UnityEngine;using System.Collections;using Sy...

2019-01-04 16:41:14 13306 4

原创 MySql的使用---对表的操作

添加表列: public static void AddColumn() { string str = "alter table `user` add column `time` date null after `password`"; MySqlCommand cmd = new MySqlCommand...

2018-12-17 17:06:53 197

原创 MySql的使用---增,删,改

增的操作:其实就是进行插入操作 public static void AddData() { string str = "insert into user(username,password) values ('foue',4)"; MySqlCommand cmd = new MySqlCommand(str, conne...

2018-12-17 16:22:27 195

原创 MySql的使用---查

下面在VS里面对数据库进行增删改查的操作:首先是查询数据: public static void ReadDataBase() { string str = "select* from mytest.user"; MySqlCommand cmd = new MySqlCommand(str, connection); ...

2018-12-17 15:21:20 156 1

原创 MySql的使用---数据库的创建和连接

哇,好久没写博客了!前段时间制作了多人交互没有涉及到数据的处理,似乎后面的多人交互要使用到服务器和数据库,好久没用了,在这里把对数据库的使用在捡起来。数据库的安装啥的就不赘叙了,现在开始使用,首先建立一个数据库的连接来管理数据,我这里叫pq:其他基本没有改动,如果修改了主机名和端口连接的时候就得使用修改了的,然后穿件一个数据库:直接在空白处点鼠标右键或者,我这里创建了一个叫myte...

2018-12-17 10:03:53 1315

原创 c# 位运算符

说来惭愧,今天看别人提供的源码,看了这些运算符竟然有些记不起来,在这里就记录一下,首先认识这些运算符:& :按位与,其实与&&逻辑运算符有一致的地方,下面会讲到:|:按位或,同样与||有类似的地方。~:按位取反^:按位异或<<:左移运算符>>:右移运算符需要注意的是上面的运算符都是针对Bit(位)进行的运算符,整数或...

2018-08-28 14:48:51 22650 5

原创 关于Unet的[Command]和[ClientRpc],[syncVar]的理解和使用

Unet 的[Command]和[ClientRpc]简单理解就是;[Command]是指客户端向服务器发送指令,方法体结果在服务器里面执行,方法在客户端调用[ClientRpc]是指服务器向所有连接的客户端发送指令,方法体结果在客户端里面执行,方法在服务器调用这几句解释很笼统不好理解,下面我们一点一点来用实验解析:首先在Unity里制作一个工程,制作了一个玩家的预制:具体...

2018-08-24 17:40:50 7067 2

原创 Unity---Unet05---玩家的生成位置设置和敌人的生成

在上一篇的Health脚本的最后一个方法里:我们设置了玩家的重生位置设置,为这个方法添加[ClientRpc]特性,表示代码在执行在客户端。但是又服务器调用,这样就相当于从服务器广播位置信息,使得客户端的位置信息始终同步,我们还需要在Unity做如下修改:首先我们在Unity里面指定玩家的重生位置,然后给设定的位置添加如下组件:然后在NetworkManager里面设置如下:...

2018-08-24 11:29:21 7367

原创 Unity---Unet04---玩家血条的制作和生命值的设置

在上篇末尾是不是看到了玩家头上的绿色?没错吗,那就是它的血条,下面来一步一步制作血条是使用的UGUI的Slider制作的,结构如下:分别设置Background和fill的颜色为红色和绿色。这个就不详细赘述了。给玩家添加Health脚本,代码如下: private int MaxHP = 100; public Slider Slider; publi...

2018-08-24 09:57:38 18417 1

原创 Network Manager HUD源码

#if ENABLE_UNET namespace UnityEngine.Networking{ [AddComponentMenu("Network/NetworkManagerHUD")] [RequireComponent(typeof(NetworkManager))] [System.ComponentModel.EditorBrowsable(System.Compon...

2018-08-22 17:06:30 1063

原创 Unity---Unet03---子弹的创建和发射同步

分别添加创建子弹的发射位置和子弹的Prefab,添加子弹的生成代码,在FixedUpdate每按下空格就生成并添加速度: private void FixedUpdate() { if (!isLocalPlayer) return;//如果不是本地玩家直接return,如果不作判断会导致操作一个时其他的会跟着发生改变 PlayerMove(...

2018-08-22 15:06:47 1922

原创 Unity---Unet02---创建玩家的预制并进行服务器和客户端移动对比

首先创建玩家的Prefab:添加Network Identity组件进行身份标识,这里勾选第二个表示只对本地玩家有效。第一个是仅在服务器上有效果。下面添加移动代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Networking;//引...

2018-08-22 11:15:36 1185

原创 Unity---Unet01---开始设置服务器和客户端

这段时间在学习Socket为了以后做多人联机,发现Unity自带的Unet可行进行简单的联机交互,下面开始从O开始学习第一步,创建一个空物体,命名为NetworkManager,然后为它添加两个组件:NetWork是必要组件,下面的是自带的一个GUI功能按钮进行服务器和客户端的开启,调用的也是NetworkManager里面的方法,回头把源码贴上,下面运行Unity看看效果:这个就...

2018-08-22 09:32:22 2129 2

Addressable学习Demo

Addressable学习Demo

2022-03-14

Addressable学习Demo程序

Addressable学习Demo

2022-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除