自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 unity获取text中每行字体占据的宽度

通过检测每行字符所占据的总宽度,就可以判定所需的text对象、字体是否可以缩放。

2022-07-29 16:34:38 1343 1

原创 相机截图(区域截图、长图、大图)

相机实现区域截图、长图、大图

2022-06-10 15:03:13 931

原创 获取数组的最大最小值及对应的下标

数组(A)和List(B)之间的转换A->B: List<int> list = new int[] { 1, 2, 3}.ToList();B->A: int[] array = list.ToArray();获取数组中的最大值及对应的下标int index = list.IndexOf(list.Max());获取数组中的最小值机对应的下标int index2 =list.IndexOf(list.Min());...

2021-01-04 14:06:53 1158

原创 DOTween——笔记记录

(一)循环旋转 transform.DOLocalRotate(new Vector3(0,0,-180), 10).SetEase(Ease.Linear).SetLoops(-1, LoopType.Restart); DOLocalRotate:第一个参数是移动的量,第二个参数是期间耗时。 Ease:运动曲线的设置。 Loops:动画循环的设置。第一个参数是循环次数, -1代表无限循环 第...

2020-11-24 13:53:00 283

原创 C# list和数组的转换

1. list转到数组List<int> list = new List<int>();int[] array = list.ToArray();2.数组转到listList<int> list= new List<int>(array);

2020-10-12 17:57:59 4137

原创 C#——关于小数取整

向上取整(进一法):只要有小数都加1 Mathf.Ceil(float f); 或Mathf.CeilToInt(float f);//返回大于或等于f的最小整数。向下取整:直接舍弃小数 Mathf.Floor(float f); 或 Mathf.FloorToInt(float f);//返回大于或等于f的最小整数。四舍五入: Mathf.Round(...

2020-03-18 14:08:39 3711

原创 Unity3D——Transform类

世界坐标 position:transform.position,世界坐标中的位置,绝对坐标。 局部坐标 localPosition:transform.localPosition,相对于父对象的位置,相对坐标。如果一个物体没有父对象,二者等效。eulerAngles:世界坐标系中的旋转(欧拉角)。localEulerAngles:相对于父级的变换旋转角度。right:世界坐标系中的右...

2020-03-16 16:47:40 621 1

原创 Unity——动画Animator的方法调用

关于动画的播放、获取该对象的所有动画名、当前名及时间长度 private Animator animator; private AnimationClip[] animationClip; void Start() { animator = GetComponent<Animator>(); animationClip...

2020-03-05 14:58:49 5226 1

原创 Unity——API中Mathf的插值函数,关于对象的移动

1.Lerp从a点->b点->a点来回循环移动例:从(-1,0,0)到(1,0,0)using UnityEngine;public class Lerp : MonoBehaviour{ public float minimum = -1.0f; public float maximum = 1.0f; float t = 0.0f;...

2020-01-13 14:49:33 596

原创 Unity——写入和读取本地txt文件

using System.Collections.Generic;using System.IO;using UnityEngine;public class RecordData : MonoBehaviour{ StreamWriter writer; StreamReader reader; List<string> allData; ...

2020-01-08 14:37:19 4426 1

原创 Unity工程3D和2D开发模式切换

在开发游戏时,之前创建的2D或3D模式并不是我们想要的,此时可以选择“Edit > Project Settings > Editor > Mode”,将“Mode”改成所需的3D或2D,再重启下。 ...

2020-01-08 14:36:52 1756

原创 C#——圆外一点,求其切点

已知C点坐标、圆心坐标O及其半径r,求切点坐标。我只计算了其中一个坐标点。 float radius;//半径 Vector3 m_yuanxin;//圆心坐标 Vector3 m_qiedian;//切点坐标 /// <param name="m_pos[2]">C(圆外一点)</param> ...

2019-08-20 15:52:56 1907

原创 C#——已知两点及半径,求圆心坐标

已知A点和B点及半径,其中B点为所在圆的切点,求该圆心坐标 float radius;//半径 float angleO;//圆心角 Vector3 m_yuanxin;//圆心坐标 /// <summary> /// 计算圆心坐标 /// </summary> /// &...

2019-08-20 15:37:02 4146 2

原创 Unity——关于后台挂起和屏幕休眠(黑屏)

void Start() { Application.runInBackground = true;//用于后台挂起 Screen.sleepTimeout = SleepTimeout.NeverSleep;//用于禁止屏幕休眠 }

2019-08-16 16:59:49 3318

原创 Unity——读取Excel中的数据

当涉及的数据很多且没有规律时,用代码一一写入,不仅耗时还很low。此时较好的方法就是讲数据写入Excel,然后获取表中的数据,简单又快,但unity不能直接导入读取Excel,需要借助第三方的库进行解析(需下载Excel.dll,ICSharpCode.SharpZipLib.dll,System.Data.dll),下载链接https://download.csdn.net/dow...

2019-04-18 15:01:20 7220 5

原创 Unity3D——模型点击事件

有时需要对具有获取碰撞性质的对象获取点击事件,而Button只能在Canvas下使用,此时需要根据对象的Tag来获取,执行事件。方法如下,其中命名的对象的Tag为“fish”。void Update(){ //获取点击的鱼 if (Input.GetMouseButtonDown(0)) { RaycastHit hitInfo; ...

2019-03-28 14:30:36 3520

原创 Unity3D——窗口内容上下左右滚动、区域滑动

在制作UI过程中,通常需要我们创建一个小窗口来显示很多内容,如游戏说明、捕鱼达人中鱼的种类、电影票的选择等等。1.创建一个“Image”为窗口,命名“background”,添加“Scroll Rect”和“Mask”属性。如图其中“Mask”,蒙版控件,遮罩“background”以外的区域。        Show Mask Graphic:显示蒙版图像,预览蒙版图像的显示效果...

2018-12-06 16:05:57 6531

原创 Unity3D——旋转Rotate、rotation、eulerAngles

Rotate  欧拉角旋转1.Transform.Rotate(float xAngle, float yAngle, float zAngle);每一帧都绕自身坐标轴的X轴、Y轴、Z轴旋转x度、y度、z度。void Update (){ this.transform.Rotate(0f, 0f, 2f);//每一帧绕自身坐标轴Z轴旋转2度}2.Transform.Rot...

2018-12-04 16:14:36 5997

原创 Unity3D——2D、3D碰撞墙壁反弹

(一)Box Collider2D 碰撞检测如图依次给upwall、downwall、leftwall、rightwall设置“Tag”为“Wall”,并添加“Box Collider2D”,设置其“Size”,如下图点击“Wall”就有了图1的四面墙。设置“Image”的属性,以及创建一个脚本“BoxCollider”,如下图。代码如下: void Update...

2018-11-23 09:41:56 11273 4

原创 Unity3D——进度条Slider

在开发游戏过程中经常需要Slider来制作倒计时、积分之类的进度条。1.由2张图构成 命名为“baseImage”和“Image”。如图所示。选中“baseImage”对象,在“Inspector”中添加“Slider”属性,将“Image”拖入到“Fill Rect”中。如图所示。取消滑动条的可交互"Interactable“”,不然用户可以更改时间或经验值。2....

2018-11-12 14:41:13 4918

原创 Unity——Button相关响应事件,鼠标进入、退出、按下、抬起、长按等

话不多说。1.点击具有Button属性的对象,在Inspector中点击“Add Component”&gt;"Event"&gt;"Event Trigger",或在搜索框中直接搜索。2.点击Event Trigger组件中的“Add New Event Type”&gt;“PointerEnter”(鼠标进入)/“PointerExit”(鼠标滑出)/“PointerDown”(按下)...

2018-10-17 15:44:54 10567

原创 Unity——相机(屏幕)震动

在创建游戏过程中,有时需要添加屏幕抖动的效果,其实是相机抖动。创建脚本“CameraShake”,代码如下:using System.Collections.Generic;using UnityEngine;/// <summary>/// 打中Boss,相机震动/// </summary>public class CameraShake : Mono...

2018-09-26 15:16:28 1878

原创 Unity3D——优化

CPU方面的优化1.DrawCall         CPU调用底层图形接口。        (1)使用Draw Call Batching,描绘调用批处理。Unity 3D在运行时可以将一些物体进行合并,从而用一个描绘调用他们。        (2)通过把纹理打包成图集尽量减少材质的使用。        (3)尽量少的使用反光、阴影之类的效果,因为那会使物体多次渲染。St...

2018-08-15 17:20:08 193

原创 Unity——对象池

在开发Unity游戏时常常需要使用同一个Prefab来创建多个的对象,如果创建的数量少时还好,不会影响效果,如果需要大量生成时,反复实例化和销毁,不停的消耗内存,出现卡顿甚至卡死现象。为了解决大量创建重复对象造成的内存损耗,采用对象池的方式来解决。在需要创建的时候拿出来,不用的时候放回去,避免反复申请和销毁,损耗内存。代码如下:using System.Collections;usin...

2018-08-06 17:12:23 3600

原创 Unity——点击按钮或屏幕响应事件

有时我们需要点击屏幕实时响应某事件A,但当需要点击某个按钮响应另一事件B时,也同样会带动A的响应,而我们不想A响应,此时就需要我们判断区分一下,那么就需要实时监听鼠标或手指点击的是按钮还是屏幕了。创建一个脚本“ButtonEventTrigger”,将其挂在“Canvas”上,如图所示:代码如下:using System.Collections;using System.Col...

2018-08-02 16:45:51 17662

原创 Unity2D——实时阴影

给2D动画添加实时阴影以呈现出3D效果,更加生动。在对象上添加一个Shadow属性,如图所示:其中Effect Color为影子的透明度;Effect Distance为影子到对象中心的距离,都可根据自己需要调整。最后呈现出的效果:...

2018-07-20 10:52:21 5906 2

原创 Unity2D——动态修改动画中的图片尺寸

在制作动画过程中,有时会遇到图片尺寸不统一,使得播放的动画怪怪的,这时就需要我们实时修改图片尺寸。代码如下:Image Image; void Update () { Image = this.transform.GetComponent&lt;Image&gt;(); this.transform.GetComponent&lt;RectTransform...

2018-07-17 11:45:00 7929

原创 Unity2D——对象朝向鼠标点击方向

 void Update () { if (Input.GetMouseButton(0)) { Vector3 ms = Input.mousePosition; ms = Camera.main.ScreenToWorldPoint(ms);//获取鼠标相对位置 //对象的位置 Vector3 gunPos...

2018-07-16 17:40:45 7486 5

原创 Unity2D——捕鱼,炮台锁定辅助线

        无论是愤怒的小鸟还是泡泡堂,都需要一定的辅助线,捕鱼也不例外,在锁定鱼儿的时候,亦需要辅助线连接炮台与被锁定的鱼儿。如图所示,创建场景及对象其中“Image”是待生成泡泡的父体,调整其尺寸(50,1000),位置(0,500,0)创建一个脚本,CSDN.cs,并添加到“Paotai”对象上,如图所示其中“paopao”是Resources中的预制体,代码...

2018-07-16 17:39:22 2318

原创 Unity——动态改变物体遮挡层级

在动态创建物体时,通常先创建的层级会被后创建的层级低,从而被遮挡,

2018-06-08 15:02:34 6462 1

原创 Unity——截屏并显示在界面中

定义空格键来执行截屏事件; void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Debug.Log("截屏"); Camera camera = GameObject.Find("Main Camera").gameObject.GetCompon...

2018-06-07 16:18:34 3391 15

原创 C#——按键控制事件

有时需要定义某个键来执行某事件,如移动对象等。定义按键一般放在Update()函数中;如果放在OnGUI()函数中则需加入一个bool来判断,因为在控制脚本激活的状态下,它可以在每帧调用,按的越久调用输出次数越多,有兴趣的可以试试。一般定义某个键有两种方法:(1)if (Input.GetKeyDown(KeyCode.A)) { Debug.Log("定义...

2018-06-07 15:11:56 3373

原创 C#中保留小数点后指定位数

float fl=1.23456;string str=fl.ToString("0.00"); //保留小数点后,结果为1.23小数点后有几个0即保留几位小数。

2018-05-31 15:07:33 9569 3

原创 Unity2D-----动画沿AnimationCurve曲线移动、缩放、旋转

同一场景中,可能需要多个动画在运行时能够移动、缩放、旋转,要么手动在Animation窗口中给动画添加AnchoredPosition等属性,要么每个动画都要写一个脚本来控制变化,操作起来各种麻烦。花了一点时间简化了下,如果你有更简洁的,欢迎大家留言。在菜单工具栏中添加AboutMoveOrScaleOrRotate来移动、缩放或旋转需要改变的预制体。代码如下:using System.Colle...

2018-05-16 14:47:37 5873

原创 Unity2D-------在不使用SpriteRenderer情况下,根据图片自动生成动画

仿照 雨松MOMO 写了一个自动生成动画的脚本 原地址 http://www.xuanyusong.com/archives/3243添加菜单Tools/CreateAnimation,弹出窗口你需要设置动画名、是否循环及动画播放帧率,拖入一张待生成动画的图片。using System.Collections.Generic;using UnityEngine;using UnityEdito...

2018-05-10 15:47:12 2282

关于Unity读取Excel中数据所需的库。

Excel.dll,ICSharpCode.SharpZipLib.dll,System.Data.dll是Unity读取Excel数据所必须的库文件。下载后解压到Asset下的Plugin是文件夹中

2019-04-18

空空如也

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

TA关注的人

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