用toggle来控制按钮的显示与隐藏
编辑器扩展参考链接 using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(Test))]
public class Tools:Editor
{ bool show true;public override void OnInspectorGUI(){ Test mc (Test)target; base.OnInspectorGUI(); show E…
using UnityEditor;
using UnityEngine;
//[CustomEditor(typeof(Test))]
public class Tools:Editor
{ [MenuItem("CONTEXT/Transform/拷贝信息")]static void Test1( ){ GameObject obj Selection.activeGameObject;//obj代表当前选择的物体Transform trans ob…
框架分类【UI面板控制】【事件组件】事件基类具体的事件实现【UI面板】UI面板基类具体的一个UI面板实现【UI面板控制】
功能说明:
通过射线检测获取场景中的事件脚本 —>获取事件脚本上的信息 —>将信息传递给UI面板
using System.Collections;
using System.Collecti…
创建一个player(胶囊),然后把camera挂在player身上
public class 给摄像机的脚本 : MonoBehaviour { private float xMouse, yMouse;//获取鼠标转动的值 public float mouseSpeed30;//鼠标灵敏度 public GameObject player;//获取player
pr…
在unity自带的下拉菜单下添加按钮 using UnityEditor;
using UnityEngine;
public class Tools:Editor
{ [MenuItem("GameObject/我的按钮 _%#&T", false,-1)]static void Test(){Debug.Log("test");}
}
新建一个下拉菜单并添加按钮 using Un…
AB包管理器 让外部更方便的进行资源加载
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;public class ABMgr : MonoBehaviour
{//单例模式public static ABMgr instance;//将已经加载的AB包存储起来 防止重复…
说明 今天在服务器端更新AB包到本地加载依赖的时候突然提示:Unable to read header from archive file错误。 解决方案: 上传到服务器的依赖ab包可能不完整,也可能不是AssetBundle文件,在更新时一定要确保文件的完整性ÿ…
在Text使用了ContentSizeFitter情况下,对text设置新的字符串后,如果我们想要在当前帧获取宽度时,通过RectTransform.sizeDelta.x获取的宽度经常是旧字符串时的长度。所以需要自行计算改变文本后text的宽度 下述代码参考:
public …
Unity解析JSON的几种方式使用JsonUtility(Unity自带)解析数据使用ListJson解析JSON数据使用Newtonsoft解析数据使用JsonUtility(Unity自带)解析数据
json实体类
[Serializable] //序列化
public class Root
{/// <summar…
加刚体(RigidBody) 设置 y方向锁定位置拖拽脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class RemController : MonoBehaviour {Vector3 movement;Rigidbody playerRigidbody;private float speed 6f;private int rotSspeed…
胜利界面
有时候直接用transform.Doxxxx会重复播放,这时候就可以用Tweener来控制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;public class TestDotween : MonoBehaviour {public Vector3 vec3;Tweener …
自动寻路人物惯性问题,容易滑动,按括号里的来可以解决这个问题 点击往鼠标点到的地方移动脚本ClickToMove.cs
using UnityEngine;
using UnityEngine.AI;// Use physics raycast hit from mouse click to set agent destination
[RequireComponent(type…
问题: 最近需要将字典序列化到Inspector面板上,来动态配置一些东西,不能直接显示,这里通过结构体的转换一下。 using System.Collections.Generic;
using UnityEngine;public class ShowDicDataTest : MonoBehaviour
{private Dic…
网上找了好多都嫌麻烦,谷歌了一下,完美解决。 需要先建立 Canvas,如下:
代码拖拽到 backImage里: JoyStick.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
us…
触屏操作 当我们将项目移植到ios和android设备上,pc端的鼠标左键操作会自动适配为手机屏幕上的触屏(单点)操作,但也只是实现了鼠标的单点,比如手指滑动和多点触摸都无法检测。
using System.Collections;
using System.Collectio…
环境: Unity3d 5.6
Windows -> Navigation 点击 Bake 调整参数 点击Bake(相当于先生成路径)写代码
using UnityEngine;
using System.Collections;
using UnityEngine.AI;public class EnemyMovement : MonoBehaviour
{Transform player;NavMeshAgent nav;void…
先来效果
直接上代码
#if UNITY_EDITOR
using UnityEngine;
using System.Collections;
using System.IO;
using System;
public class AnimationToPNG : MonoBehaviour
{public string animationName "";public string folder "PNG_Animations";pub…
今天使用UnityHub打开Unity项目,会有一个弹窗提示:Sentinel key not found (H0007)。什么也没有操作就突然不能打开了,记录一下解决办法。
1.先删除C:\ProgramData\SafeNet Sentinel ProgramData是一个默认隐藏…
下面展示一些 相机旋转、缩放、拖动、抖动等控制。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HedgehogTeam.EasyTouch;
using MR_LBS.Client.Unity3D;
using UnityEngine.EventSystems;/**** 相机移动旋转* **/
public class C…
下面展示 Unity 行为树节点开发——远程目标检测控制。
using System;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
using Pathfinding;
using MR_LBS.Common;
using MR_LBS.Client.Unity3D;namespace BehaviorDesigner.Runtime.Tasks.Movement…
下面展示 宝箱掉落与产出。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
namespace MR_LBS.Client.Unity3D
{public class CardFall{private string sort;private int count;public string So…
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
using System;
using System.IO;
//截取当前摄像机捕抓的画面public void CaptureScreen(Camera c, Rect r){RenderTexture rt new RenderTexture((int)r.width, (int)r.height, 0);c.…
下面展示 玩家控制器。
using System.Collections.Generic;
using System.Collections;
using UnityEngine;
using HedgehogTeam.EasyTouch;
using MR_LBS.Common;
using ExitGames.Client.Photon;
using UnityEngine.SceneManagement;
//using Vuforia;namespace MR_LBS.Clie…
数据库与unity连接测试 学习参考链接传送门 传送门2 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Data;
using UnityEngine.UI;
using MySql.Data.MySqlClient;//引用sql命名空间public class MysqlTest : MonoBehavi…
参考: https://docs.unity3d.com/ScriptReference/GenericMenu.html https://docs.unity3d.com/ScriptReference/Event-button.html 效果:
using UnityEngine;
using UnityEditor;public class MenuItemForCustomizedWindow : EditorWindow
{[MenuItem(…
把需要合并的网格统一放置到一个父节点下: 合并网格代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ChinarMergeMesh : MonoBehaviour
{void Start(){MergeMesh();}/// <summary>/// 合并网格/// &…
简介:
在Unity场景切换的时候,可以用RawImage很简单的制作场景的淡入淡出过渡。
新建RawImage,覆盖全屏,在UI顶层,然后拖到脚本上
代码比较简单,如下:
public class SceneFadeInOut : MonoBehav…
获取的是应用在移动设备上面的实时允许是的进程使用内存大小和你直接在移动设备上查看进程的内存使用一模一样,绝对精确,废话不说上代码,你懂的
C# public static int GetUseMemory(){int memory -1;
#if UNITY_ANDROIDtry{AndroidJavaCla…
下面展示一些 MMORPG类游戏引导系统逻辑代码。
using LitJson;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;class GuideController : MonoBehaviour{public static GuideController instance;public List<Game…
Controls & Shortcuts
NodeCanvas快捷键 官方文档地址:https://nodecanvas.paradoxnotion.com/documentation/?sectioncontrols-shortcuts
以下是节点/画布的控制及快捷操作:
Right Click on the canvas to add a new node. 鼠标右键单击画布以添…
最近写了个替换系统图片资源的工具,拖拽项目内图片资源路径文件夹,会生成显示图片缩略图和名字的item,在右侧把需要替换的图片拖进来点击确定就可以了,主要是省了重命名这一步
using System.Collections;
using System.Collectio…
遇到问题: material不知有无被引用,无引用的material留着占用磁盘,也会被UPR提示过多而影响性能考评 从而扩展出问题,特效的png文件夹贼大,也不知有无被引用过,若无,就太浪费了
此为文件夹的操作,时长因项目的大小而定的
using System.Collections.Generic;
using System.IO;…
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
using System;
using System.IO;//根据当前平台返回资源目录public static string AppContentPath(){string path string.Empty;switch (Application.platform){case RuntimePlatform.Andro…
最近项目所需,需要捕抓图像并上传到服务器。
参考了别人的文章,加以改动。
写此博客以记录。
参考博客 设置全局变量
public Camera cutFrameCamer;
Rect canvas; 开始截图 canvas.Set(0, 0, Screen.width, Screen.height);//设置画布大小等于当前屏…
Unity鼠标滑动检测
private Vector2 first Vector2.zero; private Vector2 second Vector2.zero; void Update() { if (Input.GetMouseButtonDown(0)) { //记录鼠标按下的位置 first Input.mousePosition; } if (Input.GetMouseButtonUp(0)) { //记录鼠标拖动的位置 …
参考: What is force mean in unity? - Unity Forum 结论: force mass * gravity 由于精度问题,在unity中看到mass100,constantforce的force的y981,物体仍然在缓慢下降,改成981.0001则会缓慢上升 上述Con…
一.作为一个商业化的项目,timeline是和场景分离开,单独做成prefab加载的。因此timeline的轨道上的绑定和场景中的obj产生联系时就需要动态设置绑定。这里就介绍代码动态设置绑定的基本原理。(测试前,勾掉play on awake) 1.动态设置…
Unity与服务器通信方式:一、WWW:(短连接)二、Network:三、Socket(套接字):四、Photon:(长连接)五、第三方:一、WWW:(短连接) 二、Network:
using UnityEngine.Networking; 三、Sock…
基于 项目02《游戏-10-开发》Unity3D ,
任务:飞行坐骑
首先创建脚本, 绑定脚本, using UnityEngine; public class Dragon : MonoBehaviour{ [SerializeField] private float speed 10f; public Transfo…