![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity3D
AT巡礼
前一百篇,我会写一些比较容易理解,并且立马就能上手的代码,而且都会以代码和图片配合的形式写,让大家更好理解,如果觉得文章有用,点一下赞或者点一下关注。有任何问题都可以私信我,并且如果有需要我讲的一些其他的复杂的问题,也可以私信我,我会在未来几天安排,并且把这个问题以文章的形式写出来。
展开
-
Unity七大原则
一个类只处理自己应该处理的内容,不应该啥都写在一起。原创 2024-07-16 10:26:02 · 205 阅读 · 0 评论 -
使用C#BinaryReader类
BinaryReader有两种流。原创 2023-06-26 15:08:50 · 537 阅读 · 0 评论 -
unity中当visaul studio里面不在提示报错了,以及调试模式无法打开了
关闭unity项目,删除红圈内容,以及删除Library,Logs。一、先检查unity的工具时不时visaul studio。二、打开visaul studio。原创 2023-05-12 15:26:08 · 633 阅读 · 0 评论 -
关于事件委托的一个简单原理版EventManager,自己学会解耦合,不再迷惑
我们要的需求,B脚本发送一个事件调用A脚本,并且可以传参(不需要你可以删除参数),并且A和B解耦,那就需要用到中介者模式。EventManager 的主要目的是将事件的定义和处理集中在一个地方,以便更容易地跟踪和管理事件。EventManager 是一种更通用的事件管理系统,通常用于在整个项目中管理和触发事件。EventManager 可以包含许多不同类型的事件,可以在项目的多个脚本之间共享。原创 2023-04-11 11:46:41 · 252 阅读 · 0 评论 -
关于PoolManager的创建以及清除对象池遇到的坑
我试了一个办法,先进行Despwan,再销毁,但是我发现报错和上面是一样的,也就是说Despwan是没用的,Pool还是会记录你的数据。最后,重新生成一个Pool,这样就不会出现报错了,我试过Pool.Clear(),不行,具体为什么,没时间去看了,我还要赶项目其他功能。当我们需要更换成预制体B的时候,我们想要清空预制体A,而不是简单的Despawn是Destory。此时你是不可以直接进行销毁的,因为Pool里面还存有你的预制体A的数据。接下来就是一些特俗情况,例如我们现在用的是预制体A。原创 2023-04-06 12:40:32 · 428 阅读 · 1 评论 -
关于TextureRender适配的解决方案
当我们用摄像机渲染出一个图片,显示在UI的时候,会发现,你如果自适配,那么就会拉伸图片,导致人物或者场景变形。原创 2023-04-03 11:19:49 · 421 阅读 · 0 评论 -
unity c1转f1报错
打开项目文件 删除以下三个文件 Library、 Logs、 Packages。Unity打开时 会因为Unity版本不同而出现大量报错。然后在Unity Hub里重新打开项目 让其编译一下即可。原创 2023-01-09 19:26:25 · 2269 阅读 · 6 评论 -
unity的通过代码进行Inspector窗口编辑
10、[ContextMenuItem(“重置按钮”, “Test”)]9、 [TextArea(最少显示行数,最多显示行数)]11、[ContextMenu(“编辑器下直接执行方法”)]所谓序列化就是把一个对象保存到一个文件活数据库字段中去。5、 [Tooltip(“悬停说明”)]需要放在创建的类上,不能放在声明的类上。4、 [Header(“分组说明”)]8、 [Multiline(行数)]让私有的和保护的也可以被显示编辑。超出最多显示行数,显示滚动条。显示类也可以编辑类的属性。...原创 2022-08-30 10:35:48 · 1241 阅读 · 0 评论 -
关于unity,Player打包面板的信息(上)
1.《Icon》 图标:桌面上显示的游戏图标,可以用项目资源中的2D图像资源选中作为图标。2.《Resolution and Presentation》 分辨率和显示:屏幕分辨率和其他演示详细信息的设置。3.《Splash Image》 开屏图片:游戏启动时显示的图像。此部分还包括用于创建启动画面的常用设置。4.《Other Settings》 其他设置:平台特有的其他设置。5.《Publishing Settings》 发布设置:有关如何准备将构建的应用程序从应用商店或托管网页上进行发布的详细信.原创 2022-05-30 22:27:57 · 2363 阅读 · 1 评论 -
VS编辑器引用丢失,关于回调传参
我出现这种问题的情况是,在我VS打开的时候,DOTWEEN发生了错误,双击了警告行数,然后创建了新的VS,导致VS生成了两个并报错;(此情况仅做借鉴参考)当在unity做程序的时候,有时候,Visual Studio 发生引用丢失,但实际上自己的文件都还在,只是VS读取不到罢了,此时,只需要打开你的Unity文件资源(关闭unity项目)然后删除所有VS自编译出来的文件就可以了,让它再重新编译创建一次此时再打开Unity项目即可...原创 2022-05-29 20:58:31 · 705 阅读 · 0 评论 -
关于unity加载Spine动画时图片有白边的问题
图1:是游戏场景中的图图二:是加载Spine动画进来的图可以看到,这并不是我们想要的结果此时找到你的spine组件把这个勾上,效果图如下原创 2022-05-20 15:10:07 · 2379 阅读 · 4 评论 -
关于For循环的一个细节,变量i的值不对
今天做项目,发现了一个奇怪的现象代码如下 for (int i = 1; i < 2; i++) { Debug.LogError("测试1:" + i); transform.DOMove(Vector3.zero, 0.5f).OnComplete(() => { Debug.LogError("测试2:" + i); });原创 2022-03-25 11:22:49 · 1286 阅读 · 1 评论 -
关于unity3d调用安卓(androidstudio)回调的方法
正片直接开始:在开始前,我们需要声明几个类1:GameManager (游戏管理类,单例)2:WeDataController (中转站类,单例)【这样是为了,如果你有很多调用方法,可以把方法放到这里面同意管理】3:WeData_AndroidHelps (回调处理类,单例)【考虑到不少人对委托不太懂,我就把这个的细节代码也附上】4:WeData (用来处理和安卓的交互的类,单例)第一步:在GameManager创建一个方法(用来识别是什么平台在运行的,包括方便调用)原创 2022-03-10 14:18:15 · 7640 阅读 · 2 评论 -
实现3D模型显示在UI层上面
在网上搜了很多发现都实现不了我要的结果,故而只能自己做了。方法很简单因为我的游戏是2D游戏,于是我用了两个正交摄像机(orthigraphic)第一个摄像机,用来照射UI,第二个摄像机用来照射模型。这是第一个摄像机,照射的Canvas,右上角layer只显示UI层——————————————————分界线——————————————————————这是第二个摄像机,照射的是3D模型,以及用Image图片和3D混搭的界面。这是第二个摄像机的设置。那么问题来了,为什么要这么设置呢?我遇到原创 2022-02-17 11:52:09 · 2883 阅读 · 1 评论 -
GraphiIcs UI层级覆盖详细攻略
先跟着设置前面的Canvas和摄像机Camera以及菜单栏的Edit/perferences/Graphics首选介绍一下缘由:我们要做的是2D,毕竟是UI层级的渲染模式画布对应屏幕摄像机像素对应适合类型Screen Space-Overlay是不需要可选2D UIScreen Space-Camera是需要可选2D UIWorld Space否需要不可选3D UI至于摄像机的正交和透视,2D大多数都是用正交,就不用再多说了吧,因为不需原创 2021-04-14 14:44:41 · 657 阅读 · 2 评论 -
Unity安装安卓环境,配置SDK和JDK,细节到吓人——我写的你一定看得懂
第一步,下载。直接找到官网下载SDK(Java Developoment Kit)https://www.oracle.com/java/technologies/javase-downloads.html下载最新的版本,现在是2020年12月19日 java se 15是最新的安装,路径可以看需要更改,不想麻烦的直接无脑下一步(不要有中文路径,《本地磁盘C:》这种不是中文路径)记住路径哈!C:\Program Files\Java\jdk-15.0.1\bin这是我的路径;Win+R(原创 2020-12-19 22:29:05 · 5603 阅读 · 3 评论 -
Unity如何连接后端数据Get教材,超详细介绍(看POST前先看这个)
首先:带大家看看后台的数据。这个是后端给我的要对接的数据。第一步,我们先看一下我们需要操作的流程:(写class)1,先写一个类(假设它是饭盒),用来把返回来的参数转换成我们可以用的类(假设是米饭),并储存,这样我们就能拿到服务器给我们的数据了,才能开吃。(为什么不先为传过去的参数写个类,因为这个可以直接封装然后传过去,一次性就没必要 )(Get方法)2,意淫好了,也准备好了饭盒(类),那下一步,就是要饭(数据),怎么要?那我们就得告诉它,这样它才可能会给我们饭,那就写个Get()方法(这个相当原创 2020-12-02 16:52:20 · 4286 阅读 · 19 评论 -
Unity与服务器进行对接Post,超详细介绍
登录端:一:获取账号/密码输入框二:检测是否正确1.先做个枚举判断是否连接成功public enum NetWorkState02{NETWORK_WARNING,//警告NETWORK_ERROE,//连接错误NETWORK_SUCCESS//连接成功}2.开始接后端,需要看后端发来的接口是怎么样的,再具体写。现在我用的是我们后端发来的数据进行示范;先写一个login类自己做个UI,有账号输入框,密码输入框。//--------------------------------原创 2020-11-24 17:49:11 · 1984 阅读 · 0 评论 -
重写Unity Button按钮
功能介绍:防止连点功能,自定义添加点击新事件。using DG.Tweening;using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class NewButton : Button{ boo...原创 2019-12-04 17:18:54 · 2112 阅读 · 1 评论 -
Spine动画如何才能不被UGUI遮挡
总所周知:3D的物体(包括3D场景内的Sprite)都是3D场景内的,所以它的一定会被UI遮挡住,那下面我们来说点解决方案。如何让Spine动画或者3D物体不被UI遮住。切能够层级分明:第一种方法在做2D界面的时候,默认我们的Canvas的摄像机模式是这样的这样的话,我们如果创建了UI全屏界面就一定会把3D物体遮挡了。OK,那我们切换一下Canvas的Render Mode的模式...原创 2019-11-11 16:39:57 · 3011 阅读 · 1 评论 -
基于UGUI的画板功能
我这里用到了Qframeworke插件。如果不用的话你可以直接删掉相关的代码就可以了。废话不多说,先上代码!using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using QFramework;using QF.Res;/// <su...原创 2019-10-21 10:44:40 · 342 阅读 · 3 评论 -
王者荣耀为什么选择帧同步和Unity引擎
Unity的选择优势:1.易上手,我们花三周就可以做出Demo,可以看到易上手是它的一个非常大的优势。2.它的工具都是很完善的,能够做到一站式解决,你不需要在这里面下载工具,那里面额外补充一些插件。3.它插件资源很丰富,我们从最开始做Demo的时候,基本上都可以从Asset Store中找到一些可以用来验证我们想法的资源,可以加快我们开发的效率。4.上面这三点加起来,就能体现出它非常明显的...转载 2019-10-16 15:21:59 · 1088 阅读 · 0 评论 -
U3D读取TXT文档(例如装备物品信息的数据)适合新手
读取文档第一步先获取文档,这时我们会有一个是.txt后缀的文档。没有的话自己写一个也行。不限字符。(除了一些无法识别的)开始写脚本。/*这里是枚举扩展public enum SkillType { Basic, Skill}public enum SkillPos { Basic, One, Two, Three}*///这个类...原创 2018-10-28 21:07:48 · 580 阅读 · 2 评论 -
有效的阅读别人没有注释的程序代码Unity3D
对于有些基础的程序员来说,写一套代码,并不是很难的事情。但是,如果让你去阅读网上找的别人的代码,可能就会无从入手,最后濒临崩溃,头疼不已。这里说的头疼不已,不是夸张感叹词。而是真真实实的头疼!密密麻麻的代码,并不是很难,难的是逻辑一层套一层,光找一个功能的代码,就能让自己迷失。我在网上查了一些资料,都是说个前头,并没深入地阐述怎么去阅读别人的代码。所以我在这篇文章会写得相对详细,阐述如何...原创 2018-09-29 23:23:57 · 2197 阅读 · 2 评论 -
Unit3D 对象池理解与学习使用
前言:曾经我开始接触对象池的时候,百度查了一下,很多信息,唰的整整一列,看得我一脸懵13。 后来研究了一下,发现了一个插件,可以快速并且简便地使用对象池。 而且还可以查看这个插件的代码用来加深理解,熟悉了之后你会发现,自己也能做一个对象池。(当然这篇文章不教怎么做对象池)首先,我讲一下对象池的作用,已经了解过的,可以pass直接看下面的。对象池主要作用就是回收利用:我拿个子弹来做例子吧...原创 2018-09-19 00:42:49 · 1083 阅读 · 0 评论 -
NGUI与UGUI更改摄像机视野大小(缩放)的两种方法
前言:本人在网上找了一下更改摄像机视野的方法,找不到我想要的方法,并且NGUI更改摄像机的方法更少(我找不到,不代表你也找不到:),所以我自己写两种方法,以便大家参考。这两种方法我都会写的很简单方便理解,并且可以直接使用。前面有篇文章我已经写了摄像机跟随,可以搭配这个组合一起使用。上代码第一种UGUI改变摄像机视野(脚本挂在Camera下)public class CameraF...原创 2018-09-17 10:52:49 · 2485 阅读 · 0 评论 -
记录一个UGUI翻页的坑,获取页数错误
我前面写过一篇Scrollview分页的脚本根据那个脚本可以自己扩展很多个版本,我也是根据这个脚本进行扩展的。然而今天我在进一步扩展的时候,我遇到了一个坑。而我计算页数的方式是根据 图片的多少来分页的,例如 八个图片,一页只能放下四个图片:那么就是8/4 = 2页下一步,我需要对scroll view进行实时添加子物体,例如,一个Contents下面,我有两页,一页里面放了4个图片。...原创 2019-07-08 11:52:20 · 314 阅读 · 0 评论 -
Unity制作帧动画+播放动画,全程,简单易懂,不搞玄学
第一步:找个图片!左键点击选中。第二步:Ctrl+6…就是你F6下面的那个6。。。或者第三步:Create 创建你的动画第四步:路径最好放在Asset内创建的Animation的文件夹里,新建一个也可以,该动画的名字你自己取一个第五步:你创建之后会有两个1,然后你直接可以在文件中把其他的图片拖进来(位置你自己喜欢放哪都可以),然后`~~就如我上面拖的2345的四张图...原创 2019-07-08 20:51:26 · 18204 阅读 · 1 评论 -
UGUI ScrollView 分页(详细介绍)
首先我们实现分页,有两种,一个是左右分页,一个是上下分页,当然这就会有人说了,上下分页和左右分页,只要看一个代码就够了。确实,不过改的时候也许一个不易发现的地方就可以玩死自己。所以我还是写出来。废话不多说上代码:using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.EventSy...原创 2019-07-01 14:07:18 · 2095 阅读 · 1 评论 -
Unity3D加载PPT的方法
U3D目前只有加载PPT的图片的功能。第一种:不过只能加载一些静态的图片(即便你原本是动的加载出来也是静态的),等下讲这个方法第二种:至于要包括PPT能够实现动画的,可以从内部调用PPT程序,这个百度很多,关键词“从Unity内部调用外部程序”第三种:做编辑器去实现PPT内的动画(可以直接把Unity当PPT来做,不过PPT的动画比较多所以说用编辑器);第一种实现方式:链接:https:...原创 2019-07-18 18:20:44 · 6444 阅读 · 10 评论 -
Unity3D如何用脚本旋转物体(多种方式旋转)
关于旋转物体:第一种:Rotate(vector,中心点);有两个参数:第一个参数是需要旋转的方向+速率,第二个参数是指旋转选择的中心(第二个参数可带可不带,默认以自己为中心)transform.Rotate(x,y,z):以自身坐标系为参考,而不是世界坐标系,分别以x度y度z度绕X轴、Y轴、Z轴匀速旋转transform.Rotate(vector3,Space.Self):以自身坐标系...原创 2019-07-23 20:06:06 · 43574 阅读 · 0 评论 -
Unity3D UGUI摄像机跟随主角(简明易懂)NGUI下也可以参考使用
我在这里写两个方法,一种镜头是跟随主角,但不随着主角旋转而旋转。另一种是镜头是跟随主角,并且随着主角旋转而旋转。两个方法都会用不同的方式写。 第一种,脚本挂在Camera下public class CameraFollow : MonoBehaviour { private Transform target; //角色的Transform public Vector3 Of...原创 2018-09-17 00:22:40 · 1097 阅读 · 0 评论