
unity 编程相关
漫步星河
这个作者很懒,什么都没留下…
展开
-
unity InputAction 的执行和取消事件
inputAction.Pointer.Position.performed += OnAction; inputAction.Pointer.Position.canceled += OnAction;原创 2022-11-08 11:30:27 · 1226 阅读 · 0 评论 -
非继承mono脚本的对象怎么点击检测
非继承mono脚本的对象怎么点击检测原创 2022-06-02 18:44:36 · 144 阅读 · 0 评论 -
字符串替换陷阱string.Replace
textChat.text = textChat.text.Replace(@"\", "\n");如果出现了两次替换就会出问题。第一次就会无效原创 2022-05-04 12:23:35 · 353 阅读 · 0 评论 -
unity UI适配
1. 设置Canvas的自动调节分辨率2. 设置UI锚点3. 脚本设置创建实例化物体的 scale原创 2022-05-02 10:58:13 · 1371 阅读 · 0 评论 -
c#深克隆
原创 2022-05-02 10:36:53 · 759 阅读 · 0 评论 -
世界坐标转换成摄像机UI的位置
Vector3 position = UICamera.WorldToScreenPoint(transform.position); position.y += 30; _TeammaateUI.transform.position = position;原创 2022-01-20 23:57:15 · 1929 阅读 · 0 评论 -
Gamefarmework切换场景和状态
1. 加载场景后就会执行的事件LoadSceneSuccessEventArgs.EventId由框架内部执行,每次加载完新的场景都会执行这个事件,作用:在加载场景是可以根据场景是否加载完成然后执行想要执行的内容,比如获取组件等 GameEntry.Event.Subscribe(LoadSceneSuccessEventArgs.EventId, OnLoadSceneSuccess);2.ProcedureChageScene两种方式,一种是把这个当成...原创 2021-03-11 20:45:54 · 395 阅读 · 0 评论 -
相机围绕物体旋转,角度限制,安卓出现点击位置出现变化问题解决
相机围绕物体旋转代码,可自行复制粘贴使用。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;//摄像机操作 //删减版 在实际的使用中可能会有限制的需求 比如最大远离多少 最近距离多少 不能旋转到地面以下等public class RotateAround : MonoBehaviour{ public Transfor原创 2021-03-07 10:33:45 · 370 阅读 · 0 评论 -
代码设置ScrollRect的位置
设置到某个位置,或者最底部,最顶部//将这个组件设置到他的最底部ScrollRect.normalizedPosition = new Vector2(0,0);聊天设置在最底部 chatInput.text = ""; chatInput.ActivateInputField(); //自动查检查焦点 Canvas.ForceUpdateCanvases().原创 2021-03-05 11:07:59 · 2140 阅读 · 0 评论 -
将列表强制转换
ShipPendantList= GameEntry.MyDataTable.GetDataTableAllRows("ShipPendant").ConvertAll<DRShipPendant>(input => input as DRShipPendant);原创 2021-03-03 19:37:13 · 340 阅读 · 1 评论 -
鼠标屏幕位置,ui屏幕位置,ui大小,摄像机从屏幕向空间发射射线检测物体
鼠标屏幕位置 Vector2 moutPosition = Input.mousePosition;获得ui在屏幕中的位置 中心点在中间是(0,0),向左是正,向右是负,上正下负//img_Camera1 是UI if (RectTransformUtility.ScreenPointToLocalPointInRectangle( Canvas, Camera.main.WorldToScreenPoint(Img_Camera1.transform.posit...原创 2021-02-25 09:35:08 · 241 阅读 · 0 评论 -
Unity transform和Gameobject和Transform的Find区别
transform.Find("name"); 这个是寻找子物体详细参考https://blog.youkuaiyun.com/gongfu_li/article/details/48317883原创 2021-02-23 15:11:45 · 235 阅读 · 0 评论 -
unity gridlayoutgroup怎么实现固定行数增加item
效果如图,设置两行,然后依次后边增加步骤:1.设置行数约束 constraint 为22. 添加一个大小控制的组件。3.添加srcoll Rect 滑动视图到组件原创 2021-02-22 10:16:42 · 686 阅读 · 0 评论 -
RawImage和RenderTexture在UI界面上投影
Unity中使用RawImage和RenderTexture在UI界面上投影其他相机拍摄的内容a.单纯的用小窗显示物体 1.在Project界面创建RenderTexture 2.在Hierarchy界面创建RawImage 3.选中第二个摄像机,将New Render Texture挂载上 4.选中RawImage,将New Render Texture挂载上 b.当小窗显示时,可以控制小窗移动a.单纯的用小窗显示物体个人认为所谓的 “ 物体A跟随物体B运动 ” 表.转载 2021-02-13 12:24:21 · 1807 阅读 · 0 评论 -
好用的json 解析工具不会出错。
下载地址Newtonsoft.Json public static T JsonDesr<T>(string text) where T : class { //JsonData table = AnalysisJson.Analy<JsonData>(text); //T t = JsonMapper.ToObject<T>(table.ToJson()); T t = JsonConvert.De原创 2020-07-17 13:29:49 · 208 阅读 · 0 评论 -
unity 网格细分
细分原理简单描述:获取数据:得到mesh的顶点数据,得到mesh切线数据,根据切线计算出三角面的个数。 切线数/3。三角面计算:遍历三角面个数次(有多少个三角面遍历多少次)计算出一个三角面的三个顶点。通过三条边的中心点切割,将一个三角面分割成6个顶点三个面从顶点重新计算网格的边界体积。mesh.RecalculateBounds();//由于normal没有增加,导致表面看起来不平滑(如果要重新计算normal...原创 2020-06-26 12:14:56 · 1546 阅读 · 1 评论 -
简单的Unity聊天功能的UI制作
效果:代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class ControlChatRoom : MonoBehaviour{ public InputField chatInput; public Text chatText; public ScrollRect scrollRec.原创 2020-05-11 11:42:19 · 2335 阅读 · 0 评论 -
Specified cast is not valid ,强制转换失败解决方案
可以使用强制转换 例如:Item = Convert.ToInt32( addItem) ; 这段代码会报错了。原因是为啥? 这里面的水比较深。也要提醒各位写代码的适合要引起注意。异常:System.InvalidCastException: Specified cast is not valid. 先来分析下为毛会报错。 我们知道,装箱操作,是可以把任意类型进行装箱操作的,但是我们是不是可以拆箱成我们需要的类型呢。 var test=(long)obj; 编译器知道...原创 2020-05-08 21:29:56 · 37921 阅读 · 2 评论 -
打包容易出现的问题
1. 签名文件 2017及之前都要有2. 包名设置,标题名设置。3. lzzp模式需要npk 虽然比较稳定,但是速度慢4. 2018.2.8f1.打包速度很快,或许18都快5. www,下载保存下来的图片文件等,如果放到resources 不能识别加载。除非在编辑器下才可以(需要刷新目录) 如果想要实时保存和读取,请使用文件流。...原创 2020-05-04 21:04:03 · 487 阅读 · 0 评论 -
Unity SpriteRender 支持Tile平铺的Shade:效果,可以然图片在一个MashRender 中 重复平铺图片
默认的SpriteRender不支持平铺,因此需要重复平铺地砖的时候,要么就得用一个Quad,要么就得重复的铺多个SpriteRender使用Quad的情况下,还需要处理Z轴,比较麻烦,要不就会出现Z-Fighting(个别小米手机上会出现)而使用平铺很多SpriteRanderer的方法,又会引起效能损耗。于是我想通过修改Unity内置的Shader的方式,让SpriteRender支持...转载 2020-05-04 19:55:32 · 2330 阅读 · 1 评论 -
序列化工具类:xml 序列化,反序列化,二进制序列化,反序列化
序列化工具类:xml 序列化,反序列化,二进制序列化,反序列化BinarySerializeOpt :xml 序列化,反序列化,运行时反序列化,二进制序列化,运行时反序列化using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Runti...原创 2020-04-29 22:21:20 · 778 阅读 · 0 评论 -
3d 角色血条制作方案:解决近大远小的策略
血条制作方案1. 2D在一个canvas上做血条位置映射。 1 血条可以设置于3d 空间转换成2d 空间 2 设置 到 canvas上的 血条 position 缺点:不可以跟随角色距离而近大远小。2. 3D 设置Canvas 在角色下。 1. 设置在角色的对象下边 2. 朝向问题:会出现有点想血条...原创 2020-04-29 17:16:58 · 1142 阅读 · 0 评论 -
c#用脚本创建和操作xml
导入库:EPPlus 大家可以自行下载 [MenuItem("Tools/测试写入Excel")] public static void TextWriteExcel() { string xlsxPath = Application.dataPath + "/../Data/Excel/MonsterData.xlsx"; //创建文件...原创 2020-04-27 20:10:45 · 225 阅读 · 0 评论 -
循环语句和嵌套函数的理解
嵌套函数和for 等循环语句的理解循环语句基本概念:while:语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。do-while:先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次。for:不做解释了。相同之处:1. 都有程序循环执行的功能。达到某个条件就退出不...原创 2020-04-27 00:07:23 · 602 阅读 · 0 评论 -
序列化:动态添加要加载的 json/Xml文件
1. 可以读取一个MainJsonOrXml的配置文件 在MainJsonOrXml文件中放置要序列化的 键值对象:add( key json路径) 放入要编辑的json 文件对应再MainJsonOrXml 添加的json路径和key 在Json管理器,写读取的时候按照MainJsonOrXml 表里的json数据读取出来,加载...原创 2020-04-24 02:36:47 · 162 阅读 · 0 评论 -
判断斗地主卡牌类型的思路
//判断斗地主卡牌类型的思路#region 牌型分为以下枚举enum Enum_CardType{ 单, 双, 王炸, 三, 三带一, 炸弹, ...... }#endregionpublic cardType ExamineCardType ( 传入牌数组 [] ){ if( 判断数量...原创 2020-04-23 16:52:03 · 475 阅读 · 0 评论 -
4. unity接安卓sdk——联合篇:C# 在unity 自己实现对安卓的调用
使用C# 在unity 自己实现对安卓的调用原创 2020-04-22 11:15:22 · 445 阅读 · 0 评论 -
5. unity接安卓sdk——实战篇:接上传照片Sdk
经过之前的三章学习已经掌握了怎么接sdk。在这里进行一次实战,接相机和照片上传的Sdk,实现上传头像的功能。原创 2020-04-22 01:35:29 · 212 阅读 · 0 评论 -
6. unity接安卓sdk——框架篇:建立一个通用的Jar框架
通过之前的学习已经掌握了如果使用jar,aar包进行unity的交互,并且已经接了一个打开相册,上传照片的sdk。在这里为了方便开发我们来做一个框架原创 2020-04-22 01:33:26 · 245 阅读 · 0 评论 -
3. unity接安卓sdk——联合篇:Aar包的相互调用
之前学了安卓环境和配置,然后又学了Jar篇现在开始学习Aar包的相互调用原创 2020-04-22 01:26:36 · 615 阅读 · 0 评论 -
2. unity接安卓sdk——联合篇:Jar包的相互调用
在前边文章中我们配置好了环境,接下来我们开始使用脚本进行相互调用第一种:Unity 为主导使用 使用安卓中的类和方法1 写安卓脚本可以复制:public class MainActivity extends UnityPlayerActivity { @Override protected void onCreate(Bundle savedI...原创 2020-04-21 20:43:05 · 1337 阅读 · 0 评论 -
1. unity接安卓sdk——基础篇:环境等相关配置
目录安卓和Unity的联合开发模式图解第一步:搭建安卓环境第二步:创建unity 可以使用的安卓项目第三步:创建安卓模块第四步:创建空的Activity第五步: 配置 untiy 的类库到我们的项目第六步:配置AndroidManifest.xml完成以上操作就已经配置了,接下来开始写代码请看下一篇文章:第一种导出jar包:扩展MainAct...原创 2020-04-21 19:21:45 · 1107 阅读 · 0 评论 -
ColliderBounds 使用Api 得到 详细参数
m_Center = m_Collider.bounds.center; //中心点坐标 m_Size = m_Collider.bounds.size; //碰撞体大小 m_Min = m_Collider.bounds.min; //最小点的位置:左下角 m_Max = m_Collid...原创 2020-04-20 13:43:22 · 653 阅读 · 0 评论 -
物体跟随鼠标移动
Debug.Log("x="+Input.mousePosition.x);表示在屏幕的x Debug.Log("y=" + Input.mousePosition.y);表示在屏幕的y Debug.Log("height" + Screen.height);表示屏幕的高也就是y Debug.Log("width"+Screen.widt...原创 2018-08-16 19:49:42 · 1537 阅读 · 0 评论 -
场景设置
图片格式在Ugui中要改成2d格式调整材质球的颜色可以影响的到图片的颜色气氛,调整灯光颜色调整至xi想要的颜色氛围。projection:orthographic正交正射 perspective透视...原创 2018-08-17 22:45:06 · 731 阅读 · 0 评论 -
unity c# dictionary字典用法,dictionary嵌套用法。
字典含义:字典中key只能对应一个值不能对应多个值实例化:Dictionary<键key,值value> 名字dic=new Dictionary<键key,值value>();方法Dic.Add(key,value)给字典添加值Dictionary[key]表示key所对应的值ContainsKey(key)判断key是否存在注意:方法首字母是大写...原创 2018-08-10 17:23:35 · 46575 阅读 · 4 评论 -
怎么做一个类似unrx的Ugui响应控件
提供思路,供大家参考。1. 创建一个Text,2. 创建一个属性3. 写一个属性action,负责执行text 的值的变化4. 监听属性发生变化,执行action这样就可以做到响应式的组件 变化了...原创 2020-03-27 20:02:55 · 134 阅读 · 0 评论 -
跳出循环相关
continue 是跳出本次循环还是所有循环只是跳出本次循环,继续执行下一次的循环直到结束break是循环结束执行,执行循环体后面的代码。continue是跳过本次循环未执行的代码,继续执行下一次循环。goto是跳到指定的指令去,你指哪,他跳哪return是函数返回,如果循环在Main函数中,那么程序一般就结束了。test1://标签1...转载 2020-03-21 05:25:34 · 199 阅读 · 0 评论 -
怎么设置对象的2d层级关系
可以设置2d 对象的Z轴原创 2020-03-07 23:37:35 · 472 阅读 · 0 评论 -
商业框架AB包的 原理分析
1. prefab 的单独 把所有依赖项全部打包到一个包里。 加载prefab 的时候,其ab依赖的资源就在包里边。2. 通用的资源在外打包到一个包里。打包时会遍历所有资源,然后把资源打包成一个个ab包。 需要加载什么文件,就去加载。CRC32:的原理。根据相同的二进制,转换成字典对应二进制的数字。...原创 2020-03-05 13:34:20 · 545 阅读 · 0 评论