自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 unity Mirror使用心得二(服务器端的怪物创建,及其怪物AI的行为)

1.怪物必须由服务器创建:创建代码:using Mirror;using System.Collections;using System.Collections.Generic;using UnityEngine;public class MonsterCreater : NetworkBehaviour{ public Vector3 Pos; public GameObject projectilePrefab; private NetworkIdentity i

2021-11-25 10:45:14 5075 1

原创 unity Mirror使用心得一(玩家角色创建,控制,及其攻击其他玩家的血量同步设置)

先分享下个人mirrordemo 的github :https://github.com/IsaWinding/MirrorDemo.gitmirror 的官方下载地址:https://assetstore.unity.com/packages/tools/network/mirror-1293211.添加NetworkManager2.添加NetworkMangerHud3.制作玩家角色预制体并添加mirror 相关组件networkTransform 和networkAnimator

2021-11-25 10:16:52 5796

原创 仿Dota2战斗属性系统

1.属性的类型:public enum AttributeType : byte{ Hp = 0,//血量 Mp = 1,//魔量 PhyAtk = 2,//物理攻击 PhyDef = 3,//物理抗性(护甲) MagicDef = 4,//魔抗 HpRecover = 5,//Hp 恢复 MpRecover = 6,//Mp 恢复 AtkSpeed = 7,//攻击速度 AtkCd = 8,//攻击间隔 AtkRange

2021-08-18 17:44:19 290

原创 动画播放器(自开发版)

图中的MainDirector 为播放器主驱动脚本,AnimatroMove 为移动的数据存储脚本。播放器Editor.cs。移动脚本数据储存逻辑。

2024-04-18 20:39:31 184

原创 【MVC界面框架搭建 三】

上面界面的代码除了一个登录界面的事件实现,其他代码逻辑都是自动生成,界面层的点击或者其他事件通过CtrlEvent 传递。前二章主要分享的框架层代码。登录界面的ctrl 和面板。

2023-04-21 10:53:07 130

原创 【MVC界面框架搭建 二】

打开界面策略:PolicyStack 栈式打开策略 同一时间只允许一个打开操作PolicySingle 打开单独界面 有界面的时候,不会再打开其他界面 比例系统级别的提示弹窗 ,加载界面等PolicyMul /// 同时可以打开多个界面当然可以根据项目需求自由扩展自己打开的扩展需求界面管理类 UIManager下面是View 层代码:View 层代码比较简单 ,主要是实现显示的功能和自动生成Ctrl 和View 层代码的逻辑ViewReference 界面的mono 物件挂载者界面

2023-04-21 10:34:39 138

原创 【MVC界面框架搭建 一】

b.PolicySingle 打开单独界面 有界面的时候,不会再打开其他界面 比例系统级别的提示弹窗 ,加载界面等。支持界面的Prefab 的摧毁和恢复,Ctrl 层的动态数据保存,可以用类恢复界面。总界面可以加载子界面, 总界面,子界面,单元界面都可以再次载入单元界面。c. 同时可以打开多个界面 比如tips 重复弹出之类的。a. 栈式打开策略 同一时间只允许一个打开操作。单元界面: ItemCtrl。1.界面的Ctrl 层基类。总界面:PanelCtrl。子界面 :SubCtrl。

2023-04-20 22:55:44 183

原创 UGUI 无限循环列表分享

设置原理,没有处于列表可视范围的元素将列表系统隐藏回收,用于可视范围的列表元素进行显示1.可视范围的判断:public static class RectTransformExtensions{ public static bool Overlaps(this RectTransform a, RectTransform b){ return a.WorldRect().Overlaps(b.WorldRect()); } public static bool O

2022-03-03 18:21:32 903 3

原创 Unity MlAgent 使用介绍

分享github 工程:https://github.com/IsaWinding/mlagent02.git1.本文介绍要一个战斗中,英雄Ai行为操作用MlAgent来训练操作图中为英雄训练的次数,生成的不同.onnx 文件。训练次数较少的时候,训练的英雄会随机在周围的墙边移动随着训练次数变多,训练的英雄会直接奔向敌方小兵的位置,进行攻击操作。英雄行为脚本:using System.Collections;using System.Collections.Generic;using U

2021-12-14 18:36:48 3294

原创 unity Addressable系统及其Xlua脚本热更新全过程详细解析(三)

最后添加一下Addressable资源服务器ip 地址的动态修改,以及xluahotFix 的使用:分享一下个人Demo工程:https://github.com/IsaWinding/AddressableXluaFramework.git希望大家多多点赞,谢谢有些包可能涉及到母包出很多渠道包,有些渠道可能会布置和维护自己的资源服务器,那么就必修动态修改自己的资源服务器地址了建议新的ip 地址通过其他信息后台获取后设置更改动态修改Addressable资源服务器地址: private bo

2021-12-07 10:34:38 896 1

原创 unity Addressable系统及其Xlua脚本热更新全过程详细解析(二)

分享Addressable 资源加载:using System.Collections;using System.Collections.Generic;using UnityEngine;public class AssetManager{ private static AssetManager instance; public static AssetManager Instance { get { if (instance == null) instance = new A

2021-12-03 16:19:43 680

原创 unity Addressable系统及其Xlua脚本热更新全过程详细解析(-)

1.本来关于Addressable 的文章已经写了2篇了,但对这个addressable系统有些地方还是不清楚怎么用,这次就用来记录一下结合xlua 实现资源和代码的全更新方案。列取一下一开始遇到的问题:1.xlua 开发的时候我们用的都是.lua 文件,这个是unity 无法识别的文件这个要怎么解决?2.xlua 读取文件的bytes 都是同步读取方式,最新的addressable 很多的同步读取方式都已经弃用。怎么解决这个同步读取问题?带着这些问题,下面介绍我提供的解决方案。分享一下个人Dem

2021-12-03 16:07:04 2067

原创 unity Addressable 使用心得

Addreseable 组的设置1.设置文件分组 [MenuItem("AddressableEditor/SetAllDirectorToAddress", priority = 2)] public static void SetAllDirectorToAddress() { var arr = Selection.GetFiltered(typeof(DefaultAsset), SelectionMode.Assets); string fold

2021-09-09 11:42:06 870

原创 时间轴上的定时行为

public class TimeActioner{ private float loadTime; private float delayTime; private float repeatTime; private int totalRepeatCount = 1;//如果为-1 就永不停止 private int curRepeatCount = 0; public int TimeAcId; private System.Action<

2021-08-18 17:49:58 112

原创 UGUI游戏摇杆

using UnityEngine;using UnityEngine.EventSystems;/// <summary>/// UGUI游戏摇杆/// </summary>public class Joystick : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IDragHandler{ public static Joystick Instance = null; public T

2021-08-13 15:47:17 144

原创 PhotoServer使用心得(FPS战斗的创建及其流程运行,包括客户端和服务器代码共享)

服务器篇1.服务器windows10 64位启动路径:C:\PrivateSpace\PhotonServer\Photon-OnPremise-Server-SDK_v4-0-29-11263\deploy\bin_Win64\PhotonControl.exe2.服务器Ip配置,在统计目录的PhotonServer.config 中添加<!-- 0.0.0.0 opens listeners on all available IPs. Machines with multiple IPs

2021-07-23 18:04:56 686

原创 关于unity加密相关的分享

关于unity global-metadata.dat 机密问题。还有其他的加密破解问题可以看下面链接,对自己的项目进行安全构建。https://www.gameres.com/844907.html

2021-07-09 15:30:44 274 3

原创 unity 事件系统

事件的基类:using System;using System.Collections.Generic;public class EventSender<TKey,TValue> { private Dictionary<TKey, Action<TValue>> dic = new Dictionary<TKey, Action<TValue>>(); public void AddListener(TKey pKey,Acti

2021-02-27 18:12:55 264

原创 unity UIFrameWork

MVC 设计架构:C基类的创建:using UnityEngine;public class UICtrlBase{ protected virtual string Key { get { return "UICtrlBase"; } }//C 的key 数值 protected virtual string Path { get { return ""; } }//加载的资源路径 /// <summary> 打开流程 /// OnInit --> OnPost -

2021-02-27 17:37:05 1038

原创 Unity Addressable资源加载

下载安装设置方面的不讲了直接上使用的加载卸载代码using UnityEngine;using UnityEngine.AddressableAssets;using UnityEngine.ResourceManagement;public class ResLoader { private string path; private UnityEngine.Object asset_; private GameObject go_; private System

2021-02-27 17:11:07 753

原创 Unity WorkFlow

工作流设计简单的流步骤的创建。public class FlowStep { private int stepId; private System.Action<System.Action<bool>> action_; public FlowStep(int pStepId,System.Action<System.Action<bool>> pAction) { stepId = pStepId; action_ = pAction

2021-02-27 17:04:42 321

原创 Unity TimeLine 自定义脚本使用

Unity TimeLine 自定义脚本使用

2021-02-27 16:55:04 781 1

原创 unity 战斗系统之操作策略篇

战斗系统之操作策略篇1.战斗中的条件满足条件后会运行对应的操作策略。a.操作基础类:public class VOper { public float DelayTime; private int acId; public int TargetBodyId; public SVType Type = SVType.None; public float OpValue; public VOper(){ } public void SetTargetBodyId(int pBodyId)

2020-12-01 16:17:08 433

原创 unity 战斗系统设计(条件触发篇)

战斗系统设计之(条件触发篇)1.战斗里面的数值需要发生改变必须需要满足条件才会触发。这里就涉及到条件触发系统。a.通用数值条件判断using System;public enum RangeType{ Less = 0,//小于 LessOrEqual = 1,//小于等于 Equal = 2,//等于 Range = 3,//在范围内 Abs = 4, //绝对值 GreaterOrEqual = 5,//大于等于 Greater

2020-12-01 15:17:18 1648 1

原创 unity 战斗系统框架设计数值系统

战斗系统框架设计(一)1.战斗的基础数值系统战斗里面是由很多数值拼出的数值组组成,整个战斗运行就是改变这些数值。a .数值类型:public enum SVType{ None = 0, Hp = 1,//血量}b.数值的值:public float curValue;c.数值的时间轴性:public float curTime;d.数值的变化性:public float deltaValue;e.数值的范围性:private float min;//最小

2020-12-01 14:41:33 1679

原创 Unity 图片格式一键设置

Unity 图片格式一键设置项目常常要求工程里面的格式统一设置,研究一段时间,写了改文章,不多说直接上代码 //设置图片格式 private static void SetTextureFormat(TextureImporter textureImporter, Texture2D texture2d,string path, TextureImporterFormat androidAlpha, TextureImporterFormat androidNoAlpha, Te

2020-11-06 10:45:28 622

原创 Unity 5.0 AB 系统

Unity 5.0 AB 系统总体来说简单分为这几步(文章会给代码示例)工程资源ab命名Lua 文件特殊处理转为txt文件,并且为其ab命名打包所有ab资源真机测试本地ab资源加载,和网络端远程更新下载1.命名文件夹下面的资源 assetBundleName private static void RenameDirectorABName(string pFileDirect...

2020-01-03 14:53:55 195

空空如也

空空如也

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

TA关注的人

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