Unity
FireworksFlower
这个作者很懒,什么都没留下…
展开
-
打印不同颜色的日志
日志原创 2022-07-06 20:02:07 · 210 阅读 · 0 评论 -
unity Lua 单位换算保留两位小数
---单位换算function ConfigUtil.getFormatNumStr(targetNum) targetNum=targetNum:gsub("%D+", "") local length = string.len(targetNum) if length <= 3 then return targetNum end local UtilIndex =math.floor((string.len(targetNum) - 1)/原创 2022-05-28 17:41:07 · 1044 阅读 · 0 评论 -
算法 :移除元素
从一个数组中,移除一个和 数a按相同的数,但是不能重新定义一个数组。可以不考虑数组超出的问题。返回新数组的长度public int numLength(int[] num,int a){ int size=0; for(int i=0;i<num.Length;i++) { if(num[i]!=a) { num[size]=num[i]; size++; } } return size;}...原创 2022-03-25 18:07:18 · 276 阅读 · 0 评论 -
Xlua学习笔记一
1.Xlua学习笔记一1.设置Rect的宽高: self.inputRect.sizeDelta = Vector2(self.inputRect.sizeDelta.x, newHeight);2.取最大值 local newHeight = math.max(self.originHeight, input.preferredHeight + 20);取最小值local realCount = math.min(count, prefabCount)3.向下取整self.txt_b原创 2022-03-16 15:35:14 · 390 阅读 · 0 评论 -
Unity获取包名,产品名,版本号等
string PackageName = Application.identifier; //包名 string APPversion = Application.version; //APK版本号 string ProductName = Application.productName; //产品名 string CompanyName = Application.companyName; //公司名称原创 2021-11-15 16:03:31 · 7139 阅读 · 0 评论 -
Unity 环境变量设置
原创 2021-11-08 11:22:02 · 3318 阅读 · 0 评论 -
unity 箭头看向某个点
void LookAtPos(Transform arrow,Vector3 pos) { Vector2 screenPos = Camera.main.WorldToScreenPoint(transform.position); Debug.Log(transform.position); Debug.Log(screenPos); arrow.transform.LookAt(pos..原创 2021-03-29 11:40:40 · 624 阅读 · 0 评论 -
unity 鼠标点击在2D 物体上 和UI上
unity 鼠标点击在2D 物体上 和UI上1.鼠标是否点击在2D 物体上 /// <summary> /// 点击屏幕坐标 /// </summary> /// <param name="position"></param> /// <returns></returns> public bool IsClickOn2DEntity(Vec原创 2021-02-22 18:19:48 · 3239 阅读 · 1 评论 -
Unity 优化Unity切换后台的问题
不知道你们有没有这样的需求就是程序切换到了后台再进入程序,就给播放一个全屏广告或者一个开屏广告当然,开屏广告播放是不会对是否切换后台是没有影响了,但是全屏广告就会导致进入了后台。就会造成一个后果就是当你播放完广告之后,unity 就会判定为你是从外面进来的就上图这个了。这个API是会造成这样的问题无限播放全屏广告,这个体验。。。。所以这个时候就是我要介绍的内容了,当然这个内容,是需要懂一点anroid的,因为接下来我要介绍的内容就是anroid代码了1.找到build.gradle 里...原创 2021-02-06 14:10:38 · 2884 阅读 · 2 评论 -
使用androidStudio 查看安卓apk签名信息
输入:keytool -list -v -keystore +签名文件的路径+文件后缀原创 2021-02-02 17:57:13 · 357 阅读 · 0 评论 -
unity 退出游戏
#if UNITY_ANDROID Application.Quit();#else UnityEditor.EditorApplication.isPlaying = false;#endif原创 2021-01-06 12:03:50 · 569 阅读 · 0 评论 -
unity 接入巨量引擎今日头条广告投放分包SDK
巨量引擎分包SDK在接入分包SDK时,一般也会同时接入今日头条上报SDKUnity 接入巨量引擎 头条上报SDK1. 分包SDK下载2.下载完之后,导入到导出的android 工程中,3.导入之后然后添加依赖4.在主Activity类中添加如下代码5.然后根据版本号和渠道号来确定是否上报头条SDK。接入成功了之后,就可以开始测试了上传成功后下一步3.下载apk手机测试如果打印出了渠道号和相同就成功了,如果没有就失败了,检测是否接入成功。...原创 2021-01-05 08:30:06 · 3336 阅读 · 3 评论 -
Unity 接入巨量引擎今日头条广告投放SDK
巨量引擎 头条上报SDK接入1.进入巨量引擎平台① 下载头条上报SDK SDK接入文档我用的是5.3.0的官网上是3.3.12SDK下载完了之后。②将unity工程导出android 工程。然后将下载的aar包导入UnityLibrary/libs文件夹下(如图文件夹)并在改build.gradle文件中添加依赖当然也可以远程添加依赖这里是本地的。添加完依赖就可以开始写代码了。③按照文档初始化如图初始化头条SDK代码。想要这个SDK初始化成功还需要3个权限这个3个权限必须获取到原创 2021-01-04 18:02:33 · 6821 阅读 · 27 评论 -
unity 刘海屏适配问题
1.手机一般的新手机刘海屏unity 都可以使用这个方法:unity刘海屏一般适配方法2.如果上述没有解决你的问题可以看看下面的方法了如果你是游戏的中的Ui或者是游戏物体被刘海挡住了那么你就要编写android接口代码了不会写android代码的可以去学了。2.1首先将项目导出android工程 可以编写anroid代码了:首先判断手机的SDK版本 一般分为是否是androidP和非andoidP2.2 androidP 判断手机是否是刘海屏: if (Build.VERSION原创 2020-12-25 09:26:56 · 2432 阅读 · 0 评论 -
unity PEM格式RSA加密
PEM格式加密可以选择下面的方式加密哦 public static string Encrypt(byte[] data,string publickeY) { AsymmetricKeyParameter publickey; using (StringReader sReader = new StringReader(publickeY)) { publickey = new Org.BouncyCast原创 2020-12-10 18:45:30 · 625 阅读 · 2 评论 -
摄像机跟随物体移动
private Transform _player;// Start is called before the first frame updatevoid Start(){_player = GameController.Instance.Player.transform;// transform.LookAt(_player.position);_offset = transform.position - _player.position;}// Update is called on原创 2020-10-24 09:02:00 · 578 阅读 · 0 评论 -
泛型基类单例 where约束(笔记)
using UnityEngine;public Class SingleBase<T>:MonoBehavior where T:MonoBehaviour{ private static T _instance; private static readonly object _lock=new object(); public static T Instance() { lock(_lock) { _instance=FindObj原创 2020-07-21 16:55:03 · 268 阅读 · 0 评论 -
unity 防沉迷PlayerId接入流程
1.首先在packageManager收索Player Identity然后点击安装如图2.然后打开projectSettings登录账号,进入服务3.创建ID Domain4.创建成功后5.同4一样的填创建6.输入刚刚填的id7.并获取APP7.创建好了APP之后,打开如下打开场景如下将下面的复制然后就可以运行了之后验证邮箱,手机号都可以,而且会受到验证码。然后就是实名验证界面是弹出浏览器模式的好了这个就到这里了,有什么不懂的可以留言...原创 2020-07-20 08:44:50 · 3172 阅读 · 13 评论 -
unity 经典报错集合
1.You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings. 解决方法:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200701101316928.png?x-oss-process=image/watermark,t原创 2020-07-01 10:13:43 · 6408 阅读 · 2 评论 -
怪物方向浮标,怪物指向浮标
public enum ImgShowType { ellipse, rectangle } private GameObject _target; private GameObject originPoint; private RectTransform _img; private float a = 0, b =...原创 2019-11-09 17:49:09 · 266 阅读 · 0 评论 -
UI中代码优化,减少消耗,UI搭建的注意事项
1.代码中尽量少出现gameObject.setactive()这样。可以使用改变位置来达到玩家看不到 的效果2.在Update中不要出现gameObject.setactive(),enable之类等的代码。尽量想办法在某个时刻来更新它,实在不行就改位置。等,3.在Update()中尽量不要出现this.transfrom.postion,可以使用一个临时变量来获取。这样也是可以减少消耗的。...原创 2019-11-01 18:01:16 · 198 阅读 · 0 评论 -
两个功能代码之间的相互调用
在我们写功能时,两种功能出现的顺序,以及相互直接调用等。1.这时候最简单的办法就是在其中的一种功能的脚本中引用另一功能的类。例如: public class Test1{publicTest2 test2;====>引用另一种功能的类。}public class Test2{}这种方法有很大的问题,就是耦合性太大。2.使用一种办法就是写一个管理类:public class M...原创 2019-11-01 17:26:42 · 539 阅读 · 0 评论 -
行为树笔记心得:------行为管理器
行为管理器通过添加组件Behavior Manager(必须要导入行为树插件,插件自带的)Behavior Manager的面板:1.Update Interval类型:Every Frame(每帧更新)Specify Seconds(按照指定的时间进行更新)Manual 手动进行更新方法:BehaviorManager.instance.Tick()...原创 2019-08-19 10:23:53 · 483 阅读 · 0 评论 -
unity 桌球碰撞反弹
1.根据入射方向得到反射方向,并保留相同速率private Vector3 m_preVelocity = Vector3.zero;//上一帧速度public void OnCollisionEnter(Collision collision){ if (collision.gameObject.name == "wall") { ContactPoint...原创 2019-05-01 10:27:43 · 5990 阅读 · 5 评论 -
寻路导航NavMeshAgent笔记---------------重要API和参数
1.public NavMeshPath path { get; set; } 用来存储的路径的2.public int walkableMask { get; set; } 可以通过的层级3.public int areaMask { get; set; } 可以通过的区域4.public float remainingDistance { get; }剩下的距离***5.publi...原创 2019-08-19 21:00:07 · 389 阅读 · 0 评论 -
NavMeshAgent 寻路导航笔记---------组件API和参数
NavMeshAgent 寻路导航组件:NavMeshAgent 组件面板属性:agent.updateRotation = false; //不允许NavMesh来旋转角色 agent.updatePosition = true; //允许NavMesh来移动角色agent.velocity.magnitude 这个也是速度, GetComponent().SetFloat(“Speed”...原创 2019-08-19 21:03:26 · 3123 阅读 · 0 评论 -
行为树 中断的理解
1.中断类型分为4种:NoneSelf3.Lower PriorityBoth2.第一种就不说了,不会打断任何行为self类型:必须满足条件:1.当前分支处于Running状态2.必须是条件节点才能监听状态变化来打断别人3.条件节点的优先级必须比Running节点的优先级高(即在其左边)4.条件节点必须是当前组合节点(设置了打断类型为self的节点)的直接子节点,孙子节点...原创 2019-08-15 20:46:03 · 2937 阅读 · 1 评论 -
动态加载行为树
using UnityEngine;using BehaviorDesigner.Runtime;public class CreateTree : MonoBehaviour{public ExternalBehaviorTree behaviorTree;void Start () { var bt = gameObject.AddComponent<AIBeh...原创 2019-08-17 20:58:36 · 559 阅读 · 0 评论 -
设计模式——---------------------------------状态机模式
什么时候可以使用状态机模式呢?(状态比较少时都是可以使用状态机模式的)比如:开灯,关灯。可以使用状态机模式处理:敌人巡逻,当玩家到了警戒距离时,就会追击玩家,当到达了攻击距离就会攻击敌人。巡逻-----追击----攻击—巡逻代码实现://状态控制类 public class ControlState {public State state;//切换状态public void...原创 2019-09-05 23:03:48 · 277 阅读 · 0 评论 -
行为树笔记心得-------获取行为树的状态
获取当前行为树的状态的方法:behaviorTree.ExecutionStatus;原创 2019-08-19 10:16:10 · 360 阅读 · 0 评论