自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 【Unity】移动父对象位置小工具、移动物品中心点位置

【Unity】移动父对象位置小工具、移动物品中心点位置。

2022-07-20 18:52:33 1454

原创 【Unity】InControl虚拟摇杆设置

1、设置必要组件需要注意的是,需要给其设置单独的一个层级2、设置渲染的摄像机,渲染类型是叠加将其添加到主摄像机

2020-10-30 10:45:29 847

原创 【Rider】使用Rider补全C#代码,带Unity菜单补全示例

1. 设置方式无需额外编码就可以使用 Live Templates 进行较为简单的补全设置在设置里就找到在设置里就可以找到模板设置2.编辑规则找到Live Templates可以设置各种语言的自动补全需要自己手动输入的部分可以使用 美元符号包裹 $3.编辑作用范围可以自定义补全作用的上下文,语言版本等...

2020-07-04 10:45:16 4463

原创 【C#】使用ClosedXML,读取Excel xlsx表格

使用说明github: https://github.com/ClosedXML/ClosedXMLAPInew XLWorkbook(fileUrl); //读取xlsx并获取实例XLWorksheet.FirstRow(); //获得第一行Cell(i) //取筛选结果的第i个格子, 如果获取的是列,拿到的就是第i行,如果是行实例拿到的就是第i列使用的命名空间using ClosedXML.Excel;using System;using System.Collections.

2020-06-20 10:28:09 3929

原创 【Unity】打包时异常 HideFlages.DontSave

报错如上报错格式为An asset is marked with HideFlags.DontSave but is included in the build:Asset: 'urlxxx'Assetnamexxx解决方案 查找场景或预制中是否有引用现版本已经不存在的资源,如果有就将其取消引用 找到查找项目中是否有Asssetnamexxx 说明的对象,如果有就选中资源右键 Reimport一下 这里第一个报错是scene设...

2020-06-12 20:56:31 1490

原创 【Unity】截图(支持SpriteMask)

new RenderTexture(width, height,0);没有深度值就回造成SpriteMask效果失效new RenderTexture(width, height,24);深度值为24,给予一定深度信息即可 int width = Screen.width; int height = Screen.height; ...

2020-03-05 17:11:46 330

原创 【C#】在容器中结构体与类,List中使用struct与class的区别与坑

struct:    public struct BuyTipItem    {        public string dialogId;        public bool is...

2020-02-25 16:16:49 956

原创 【C#】对象排序

排序方式使用List.Sort(),并实现IComparable接口使用List.Sort(委托)排序步骤排序时返回的 int 值,提取两个对象的信息相减进行比x大值的在前面,就是升序例子: public class TestObject { public int n; public bool b;...

2019-10-26 11:25:51 523

原创 【Unity】一些免费的2D游戏模板

Space Shooter FREEurl:https://assetstore.unity.com/packages/templates/packs/space-shooter-free-107260Creator Kit: RPGurl:https://assetstore.unity.com/packages/templates/tutorials/creator-kit-rp...

2019-10-17 09:25:07 3723

原创 【Unity】关于Unity2019的2D灯光的一些坑以及规避方案

关于Unity2019的2D灯光的一些坑以及规避方案多边形光FalloffOffset 向量长度不能大于 Falloff,必须保证在范围内偏移,否则光线会在屏幕消失做远光请用点光自定义光FalloffOffset 向量长度不能大于 Falloff,必须保证在范围内偏移,否则光线会在屏幕消失FalloffOffset 很大时,如果自定义点与点之间过近会出现光照折痕,移除掉点即可做...

2019-09-20 19:41:29 3797

原创 【Unity】编辑器扩展(一):菜单选项

如何添加菜单说明:可以添加一个菜单选项参数:url路径,激活该菜单项校正使用方式: [MenuItem("url/item")]public static void Function(){ }限制菜单是否激活(可选扩展) [MenuItem("url/item",true)]public static bool FunctionIsAct(){ ...

2019-06-22 11:40:59 395

原创 【Unity】一些坑(不定期更新)

AudioSource音效打断如果priority优先级较低,播放多个音源时就会被打断priority的数值越高,优先级越低UGUI使用基于EventSystem的场景输入触发器与场景内的UGUI交互时把UGUI上的Raycast Target取消。否则场景所有事件将会被拦截。VSUnity项目重命名如果vs的“.sln”名字与重新命名的项目名字不一致时...

2019-06-22 11:00:24 232

原创 【Unity】Timeline编辑器扩展

Timeline编辑器扩展PlayableDirector(控制器)创建一个Track的方式(感谢。。。。。大佬)PlayableDirector.playableAsset as TimelineAsset;TimelineAsset.CreateTrackTrackAsset(自定义轨道类型)继承这个类,可以自定义一个轨道类型类Attribute[TrackCli...

2019-06-19 19:14:15 2289

原创 【Unity】基于SpriteRenderer的残影/幻影

借鉴了这位dalao的方案通过Sprite渲染mesh:http://tsubakit1.hateblo.jp/entry/2018/04/18/234424思路:获取游戏对象下的所有Sprite通过Sprite渲染mesh用到的绘制API类//缓冲命令实例CommandBuffer//在transform.position下绘制一个mesh,mat...

2019-04-09 15:18:25 1645

原创 【C#】自定义隐式转换

隐式转换可以大大的删减对象转换的代码。如将A类的实例转换成B类的实例:一般情况:B b = new A().GotoB();//通过转换函数生成对应B的实例隐式转换:B b = new A();//直接赋值即可定义隐式转语句格式public static implicit operator T (S s){ retrun new T();}//T : 需要转换的类型/...

2019-03-26 19:29:44 2114

原创 【Unity】动态对象管理器DynamicObjectManager(有限状态)

这个组件用于控制游戏流程,可以序列化数据进行保存思路: 游戏初始化时根据储存的状态值(字符串)判断进行动作 一个管理单例对数据进行修改 动态对象通过设置和判断动作状态进行不同的行为 结构组成DynamicObjectManager:数据管理DynamicObject:动态对象(访问核心 组件)DynamicObjectData:动态对象的数据...

2019-03-15 19:50:01 609

原创 基础的unity局域网游戏框架(一)

最近看了下关于unity的网络模块netwrok即将淘汰,思索了下准备自己用socket去封装个局域网的通讯插件看了一下关于同步问题https://www.jianshu.com/p/fbd8eda9df62然后局域网游戏,外挂基本上靠的是玩家自觉,而且也不需要自己搞个服务器 房间系统:房主是服务器也是客户端 随机数的生成保持一至:统一的随机种子(并且要保持种子的调用次...

2019-03-13 09:55:10 2275

原创 Unity 2D角色控制器(横板滚轴)

unity自带的2D刚体在坡上会往下滑。而且也是会有可能穿墙,或碰撞到其他物体时鬼畜抖动。设计思路1、利用射线进行判断碰撞防止穿墙:原理传送门2、在地面时往地面发射两条射线,获得的两个点,两个点形成的线,这个线是角色的移动向量。下面是一个自定义的一个横板2D角色控制器,包含有简单的移动和跳跃。代码:using System.Collections;using Sys...

2019-03-02 16:56:13 1393

原创 关于unity物体移动穿墙问题。

unity自带的是会穿过墙,然后反弹回去进行模拟的。实现方式主要是依靠射线下面模拟类似2D圆的物体位移代码:public class Move : MonoBehaviour{ /// <summary> /// 物体的每秒移动速度 /// </summary> public Vector3 moveSpeed; ...

2019-03-02 16:35:49 5997

原创 实现游戏内动态逻辑(一)

最近在做卡牌游戏,实现一个游戏的逻辑动态更新。看了一下网上的相关资料,发现lua非常合适。lua在游戏领域应用非常广泛,著名的《魔兽世界》就是用lua做内容更新的。目前项目使用的引擎是unity所以去查阅了关于unity的lua资料。腾讯的xlua是目前主流的unity上的lua框架。关于如何部署xlua我就啰嗦了,腾讯官网在github上有详细的教程和文档。官方源码和教程GitH...

2018-10-10 22:16:30 768

原创 cocos 物理组件的坑

初始化物理要在onLoad

2018-06-08 00:52:43 1517 1

转载 unity调用c++

#pragma once#include "dlltest.h"extern "C"{ _declspec(dllexport) int add(int a, int b); typedef int(*ApiAdd)(int, int);}public class DLLConnect : MonoBehaviour { [DllImport("dlltest")] p...

2018-06-02 13:13:23 665

原创 unity动画细节优化方案

目前总结的如下·unity动画混合树动画混合树,可以将两个动画进行差值计算得出最后计算权重的动画创建方法:打开动画状态机 => 右键创建混合状态 => 双击进入该状态的编辑 => 右侧属性栏添加动画·用变量做差值优化在游戏中的转身,待机到行走,都可以一个0~1(或者-1~1)的值进行递增过度...

2018-05-28 23:14:09 289

原创 linux设备(光驱)挂载不上问题

原因是有可能被占用设备了以光驱挂载为例,在设备名后面加个1或者N即可如mount /dev/cdrom /mnt/cdrom改为mount /dev/cdrom1 /mnt/cdrom

2018-05-28 09:38:59 5219

原创 unity协程

开启协程StartCoroutine (IEnumerator xxx);//里面传入协程方法IEnumerator xxx(){}//协程方法定义关于yied return 返回值yield return null;//下一帧开始时继续调用yiled return new WaitForFixedUpdate;//在FixedUpdate之后调用yield return new Wait...

2018-05-27 21:28:26 766

原创 unity脚本入门

接口void Awake(){}//脚本加载时调用void OnEnable(){}// 脚本激活时调用void Start(){}//只调用一次,在调用Update之前调用void Update(){}//每帧调用一次,每秒接近60次void LateUpdate(){}//Update调用完之后调用void OnDisable(){}//取消脚本时调用void OnDestroy(...

2018-05-27 21:26:17 355

原创 unity2018可视化shader安装步骤

安装总结:有的资源没有,但可以在菜单创建的,耐心点就好。。。步骤1、在unity的包管理器(unity2018以上)2、安装lightweight,安装时会和shadergraph一起安装的3、在资源视图创建一个lightweight资源4、在项目中配置该资源即可...

2018-05-27 21:18:52 3401

原创 SteamVR在Unity中输入

//获取SteamVR_TrackedObject组件SteamVR_TrackedObject steamVR;steamVR = GetComponent<SteamVR_TrackedObject>();//通过获取组件的ID,获取输入控制驱动:SteamVR_Controller.DeviceSteamVR_Controller.Device device= Ste...

2018-05-27 21:17:14 1693

原创 unity屏幕射线

Physics类的Raycast可以发射射线,具体可以参考官方文档以下是一个简单的屏幕2D射线Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y);RaycastHit2D hit = Phys...

2018-05-27 21:12:37 1960

原创 MMD导入unity中使用

使用mmd4mecanim插件链接MMD素材网站BowlRoll

2018-05-27 21:10:05 5940 1

原创 Shader基础(整理)

pass块://相当与一个主方法(函数)CGPROGRAMENDCGunity着色器基础属性类型://颜色 0~1struct Color{    r,g,b,a}//向量 Rstruct Vector{    x,y,z,w}//纹理2D、3D、Cube//其他类型Int、Float、Range(min,max)CGPROGRAM内基础属性类型:float~float4、half~half4、f...

2018-05-27 21:09:06 255

原创 关于C#事件和委托的理解

委托:1、委托声明是与类同级,但是一个类似抽象方法的声明2、委托的使用需要实例化,实例化时传进一个方法3、委托实例化后可以调用,相当于调用一个方法4、委托可以进行加减操作,方法就会到委托调用列表里去声明委托:delegate <委托返回值类型> <委托名>(<参数>);委托实例化:<委托名> <委托实例>=new <委托名>(...

2018-05-27 21:06:57 130

原创 C#简单的socket通信

1、常用的TCP和UDP。2、TCP需要建立连接,UDP不需要3、TCP因为建立了连接,比UDP可靠4、UDP因为没有连接,所以可以实现广播TCP实例:            //服务器 Socket ReceiveSocket; int port = 9999; // 侦听所有网络客户接口的客活动 ...

2018-05-27 21:05:56 202

原创 C# 简单的文件IO基础

IO可用做常用的游戏数据处理以下两个是基础的读写数据的方法以下需要引进 System.IOFile.Exists()//判断文件是否存在Directory.Exists()//判断文件夹是否存在FileStream //创建、构造此对象对文件进行操作File.AppendText()打开文件FileMode.  打开文件模式//该API不能在根目录直接创建文本File.CreateText()/*...

2018-05-27 20:50:55 143

空空如也

空空如也

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

TA关注的人

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