- 博客(402)
- 资源 (7)
- 收藏
- 关注
原创 DateTime.Now.ToString() 用法
//2007年4月24日 this.TextBox1.Text = System.DateTime.Now.ToString("D"); //2007/4/24 this.TextBox2.Text = System.DateTime.Now.ToString("d"); //2007年4月24日 16:30:15 this.TextBox3.Text = System.DateTime.Now.ToString("F"); //2007年4月24日 16:30 .
2021-06-16 16:19:08 587
原创 Unity和Android互调
Android调用UnityAndroid端:UnityPlayer.UnitySendMessage("UAndAManager","Json_AcToken",a_t_r);//类名,函数名,参数Unity端:public class UAndAManager : MonoBehaviour{ public void Json_AcToken(string str) {}}Unity调用AndroidUnity端using (AndroidJ...
2021-06-15 11:24:40 327 1
原创 Unity 屏幕适配之正交摄像机(Orthographic Camera)下游戏区域适配
导语: 我们在进行游戏开发的时候为了让我们游戏在可以在各种机型上正常显示, 需要根据屏幕分辨率来调整游戏区域。 起初我只是简单的对游戏进行放大缩小和图片填充,但是这种方法在异形屏上虽然可以做到简单的适配,但是游戏内对象位置计算的难度会增加,产生逻辑混乱。 通过查资料和推理找到了一种更好的方式,就是改变摄像机(camera)的orthographic size,来进行适配。1.创建一个Camera(摄像机),将Camera的Projection设置为orthographic2.将Si
2021-06-01 10:24:07 1606 3
原创 c# 类的排序
IComparable一种特定于类型的通用比较方法,值类型或类通过实现此方法对特认定进行排序IComparable的作用是提供了一种比较两个对象的特定类型的方法。这是必需的如果您想要为对象提供任何排序功能。视为IComparable提供您的对象的默认排序次序。例如对于如果您有一个您的类型的对象的数组,并在该数组上调用Sort方法IComparable在排序过程中提供对象的比较。实现IComparable接口时, 必须实现CompareTo方法此接口由具有可排序值的类型实现。它要求实现类型定义单.
2021-04-07 11:33:38 510
原创 Unity 用代码设置UGUI的渲染层级
用代码设置UGUI渲染无非和三个API有关:1.SetAsFirstSibling();2.SetAsLastSibling();3.SetSiblingIndex(n)SetAsFirstSibling()是设置为最先渲染的,即会被后渲染的挡住。SetAsLastSibling();是设置为最后渲染的,即会挡住比他先渲染的SetSiblingIndex(n)是设置层级,从0开始到childcount -1当n为0时,其效果与SetAsFirstSibling();相..
2021-04-06 15:05:22 1313
原创 Unity 2D游戏:Physics Material 2D(2D物理材质)
创建:方法一:菜单栏 Assets ---> Create --->Physics Material 2D方法二:在Project视图右击 ---> Create --->Physics Material 2DFriction:摩擦力Bounciness:弹力
2021-03-15 20:07:34 1703
原创 Unity功能 ui数字从3D世界一个点移动到另一个点 , 世界坐标转换UI坐标
void AddGold(Vector3 pos)//pos是起始的世界坐标位置{ GameObject go = Instantiate(m_AddGold.gameObject, transform);//创建UI数字 go.name = "_AddGold"; go.SetActive(true); go.GetComponent<Text>().text = string.Format("+{0}", 200); //将起始的世界坐标位置转换为.
2021-03-12 20:16:55 327
原创 Unity功能 UI固定在3D模型上面,血条功能
void LateUpdate(){ if (tableCtrl != null) { // 移动时锁定位置 var screenPoint = RTCamera.CameraDict[RTCameraType.Exhibition].Camera.WorldToScreenPoint(tableCtrl.transform.TransformPoint(Vector3.down * 0.8f)); if (RectTransform...
2021-02-22 15:16:12 980
原创 Unity URP中使用UI相机
public class RTCamera : MonoBehaviour{ public RTCameraType CameraType; [HideInInspector] public Camera Camera; private void Awake() { Camera = GetComponent<Camera>(); // UI相机叠加到当前相机之上 Camer.
2021-02-14 15:27:51 1014
原创 C# 把字符串转为变量名并获取变量值
string str = "Sell_Price";this.m_sell_price.text = sellPrice.GetType().GetField(str).GetValue(sellPrice).ToString();sellPrice是类名Sell_Price是sellPrice类的变量
2021-01-31 16:35:39 2790
原创 Unity功能 3D世界坐标转2D屏幕坐标,UI条贴在3D物体上面
让2D UI跟随3D物体移动或指示3D物体的位置该怎么做呢?将代码绑定到UI上代码:using UnityEngine;/// <summary>/// 3D物体转2D屏幕坐标/// </summary>public class Position3DTo2D : MonoBehaviour { public Transform target; // 3D目标 public Transform ui; // 2D UI
2021-01-23 19:39:49 1177
原创 Unity功能 获取Animator动画的时间
IEnumerator InvincibleJMJCor(){ tsSawTableSlot.GetComponent<Animator>().SetTrigger("JMJ_GO"); yield return new WaitForSeconds(0.1f);//稍微延迟一会再读取动画时间 var sawAnimState = tsSawTableSlot.GetComponent<Animator>().GetCurrentAnimatorState.
2021-01-18 14:59:06 3692
原创 Unity 动态更换模型纹理
string bg = "";switch (pBooth.level){ case 1: bg = "T_SelectStone_BG_First"; break; case 2: bg = "T_SelectStone_BG_Middle"; break; case 3: bg = "T_SelectStone_BG_High"; break;}string path ...
2020-12-16 11:16:43 1250
原创 Unity Quaternion.FromToRotation 将物体从 fromDirection 旋转到 toDirection
Quaternion.FromToRotationpublic staticQuaternionFromToRotation(Vector3fromDirection,Vector3toDirection);描述创建一个从fromDirection旋转到toDirection的旋转。通常情况下,您使用该方法对变换进行旋转,使其的一个轴(例如 Y 轴)跟随世界空间中的目标方向 /toDirection/。using UnityEngine;public class...
2020-12-09 13:28:40 4581
原创 unity Animator “apply root motion“
勾掉apply root motion,对象的Transfrom变动会基于动画移动,不受脚本控制。勾上apply root motion,则Transform受到脚本控制。
2020-11-29 14:28:34 1087
原创 Unity UGUI 利用EventTrigger实现按钮事件注册
Hierarchy面板如下图所示:UIEvent代码:using System;using UnityEngine;using UnityEngine.EventSystems; public class UIEvent : EventTrigger{ public static UIEvent Get(GameObject obj) { UIEvent e = obj.GetComponent<UIEvent>(); if
2020-11-28 19:40:58 425
原创 Unity功能 将视图滚动条自动移动到最高关卡处
void InitMap() { float height = 0; var list = TableManager.Instance.GetPStageData(); for (int i = 0; i < list.Count; i++) { var slotName = string.Format("Slots/Slot_{0}", i + 1...
2020-11-23 15:39:19 646 1
原创 unity插件 Simple Scroll-Snap的使用 实现ScrollRect滚动缩放
1.在unity自带的asset store搜索 Simple Scroll-Snap ,然后找到对应的资源,然后全部都导入到项目中。ScrollRect滚动缩放效果ScrollRect上拖入Simple Scroll-Snap插件设置相关参数和曲线
2020-11-09 15:06:01 1416
原创 Unity插件 --- LeanTouch的使用
在unity自带的asset store搜索 Lean touch ,然后找到对应的资源,然后全部都导入到项目中。1、开启和关闭 private void OnEnable() { LeanTouch.OnFingerDown += HandeFingerDown; LeanTouch.OnFingerSet += HandleFingerSet; LeanTouch.OnFingerUp +=
2020-10-30 17:03:54 3419
原创 Unity研究 粒子在Scene上显示,但在Game视图不显示的问题
如果你确认的Scene视图没有问题,试着检查一下物体的Layer 与 camera的Culling mask是否一致,或者说camera的Culling mask中是否包含物体的layer这是相机的渲染层次,只有将物体的Layer选成这个层次才能被相机渲染出来...
2020-10-26 19:09:06 6734
原创 C# List 按条件获取List列表里的数据
获取单个数据var uWork = uWorker.WorkQueueList.Where(p => p.WorkerId == item_queue.worker_id && p.QueueId == item_queue.queue_id).Single(); 获取多个数据var queueList = TableManager.Instance.GetPWorkerQueueData().Where(it => it.worker_id == it.
2020-10-26 11:02:39 9736
原创 Unity功能 解决使用 contentsizefitter 组件后不能获取大小的问题
ontentSizeFitter使用PreferredSize来设置RectTransform不能立即生效,必须要等一帧,所以可以在获取尺寸大小之前调用UI.LayoutRebuilder.ForceRebuildLayoutImmediate这个方法LayoutRebuilder.ForceRebuildLayoutImmediate(this.m_GroupItemDetail.GetComponent<RectTransform>());Debug.LogFormat("高度:{.
2020-10-24 14:49:17 3402 2
原创 UGUI使用小技巧(一) Content Size Fitter的使用
1、文字组件上使用,推荐只要是Text都加上这个组件。文字边框会随文本的宽度而发生缩放
2020-10-15 20:41:41 486
原创 Unity CSG 布尔运算插件 模型打孔 模型打洞 模型挖洞
下载CSG并导入到项目中:https://download.csdn.net/download/cuijiahao/129223281、将DLL文件剪切到Assets目录下的Plugins文件夹中,注意是剪切,DLL文件夹必须清空。2、代码展示using System.Collections;using System.Collections.Generic;using UnityEngine;using MeshMakerNamespace;using UnityEngine.U.
2020-10-14 12:27:42 6063 10
原创 Unity功能 扫描仪功能,透视遮罩,子节点朝父节点反方向移动
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;//扫描public class Scan : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { [Header("是否精准拖拽")] pub.
2020-09-30 10:29:53 280
原创 Unity功能 判断一个矩形是否在另一个矩形内部
using System.Collections;using System.Collections.Generic;using UnityEngine;using LightDigital.UI;using UnityEngine.UI;using DG.Tweening;using UnityEngine.EventSystems;using LightDigital.Core;public class C0003 : QuestionBase { enum EStat.
2020-09-30 10:28:10 2146
原创 Unity功能 实现重力感应,左右到达一定角度后停止旋转
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;//重力感应public class Acceleration : MonoBehaviour{ [Header("碰撞后是否停止重力感应")] public bool isCollStopAcce; [Header("限制最大倾斜角度")] public float .
2020-09-30 10:25:46 1108
原创 Unity功能 实现左右加速度
using System.Collections;using System.Collections.Generic;using UnityEngine;using LightDigital.UI;using UnityEngine.UI;using DG.Tweening;using UnityEngine.EventSystems;using LightDigital.Core;public class C0001 : QuestionBase{ enum Dir { .
2020-09-30 10:22:47 2113
原创 Unity功能 重力感应(Input.acceleration)
(一)2D重力感应public class image : MonoBehaviour{ public float speed = 10.0F;//方块移动速度 void Update() { Vector2 dir = Vector2.zero;//方块移动向量 dir.x = Input.acceleration.x; dir.y = Input.acceleration.y; transform....
2020-09-25 10:41:08 943
原创 Unity功能 UGUI 图片实现拖拽功能
将脚本拖到需要实现拖拽功能的UI图片上即可using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;public class UIDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { [Header("是否精准
2020-09-23 16:00:25 1568 3
原创 C# default关键字
在泛型中使用default,取决于泛型类型是引用类型还是值类型,引用类型的default将泛型类型初始化null,值类型的default将泛型类型初始化为0。在类型应用中可以通过default获得缺省值,如default(int)。在泛型类型中,由于泛型类型即可以是引用类型也可以是值类型,所以不能用null来表示默认值。这里通过default来进行。引用类型的default将泛型类型初始化null,值类型的default将泛型类型初始化为0。 class DocClass<T>
2020-09-22 19:39:10 296 1
原创 Unity 摄像机插值运算跟随主角移动
using System.Collections;using System.Collections.Generic;using UnityEngine;//摄像机跟随主角public class FollowPlayer : MonoBehaviour { Transform m_player;//主角 Vector3 m_offset;//偏移量 float speed = 20;//跟随速度 private void Awake() { .
2020-08-07 13:43:45 944
原创 Unity 动态设置模型的纹理
public GameObject objBgQuad;public List<Material> list_theme;//更换主题public void ChangeTheme(){ //设置路的材质 objBgQuad.GetComponent<MeshRenderer>().material = list_theme[0];}
2020-08-06 18:27:14 759
原创 UGUI ScrollView设置
Content加上ContentSizeFitter组个就不必在代码里手动拉伸Content的长度动态创建预制体后需要手动设置一下缩放,否则会影响适配
2020-08-06 10:12:05 149
原创 Unity脚本面板显示文字提示信息
[SerializeField, CustomLabel("修改语言后自动保存"), Tooltip("该选项勾选,则玩家在“设置”面板中设置语言后,会保存到本地,下次打开应用直接显示玩家选择的语言,默认允许")]private bool m_SaveLanguage = false;...
2020-08-05 09:37:26 2977
原创 Unity3D 更改纹理偏移,制作水波纹效果
using System.Collections;using System.Collections.Generic;using UnityEngine;public class MaterialUV : MonoBehaviour{ float scrollSpeed = 0.5f; void Start() { } void Update() { float offset = Time.time * sc...
2020-07-30 18:20:31 561
原创 Unity 动态更改物体的Layer
public GameObject hull;hull.layer = LayerMask.NameToLayer("slice");
2020-07-30 10:05:28 7482
原创 Unity功能 设置不规则模型的锚点为中心点
有些不规则模型的锚点是不可控的,unity本身并不能修改模型的锚点所以这时需要创建一个空物体,让空物体的位置为模型的中心点,并把模型添加到空物体上就可以了//创建空物体GameObject empty = new GameObject();//让空物体的位置为切片部分的中心点Vector3 center = list_item[i].GetComponent<MeshCollider>().bounds.center;empty.transform.position = c
2020-07-30 09:46:22 974
原创 Unity 编辑不是用Unity做的动画的回调方法
用Unity做的动画都可以Edit,但是没用Unity做的动画只有Open这时就需要点击绑定动画的模型,按Ctrl+6添加事件添加事件方法
2020-07-28 19:54:02 86
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人