
Unity 3D
游戏开发经验
true...
计算机科班出生、QQ学习交流群:1067304356
展开
-
新版Rider无法在插件商城搜索到Chinese language,如何更换中文字体?
重启 没了。原创 2021-07-16 14:07:42 · 5154 阅读 · 5 评论 -
360相机控制(n种方式控制)
Unity 各种相机控制脚本:01// █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████// ███ INTERNAL CLASSES ███████████████████████████████████████████████████████████████████████████████████████原创 2021-06-29 22:12:27 · 430 阅读 · 0 评论 -
Unity 扇形范围检测
public Transform Target; public float SkillDistance = 5;//扇形距离 public float SkillJiaodu = 60;//扇形的角度 void LateUpdate() { float distance = Vector3.Distance(transform.position, Target.position);//距离 Vector3 norVec = transform原创 2021-02-26 15:14:25 · 3230 阅读 · 0 评论 -
Unity资源命名管理工具(硬规范)
//==========================// - FileName: TextTrueSetting.cs // - Created: true. // - CreateTime: 2020/11/11 19:44:02 // - Email: 1670328571@qq.com // - Region: China WUHAN // - Description: 当前资源导入前//========原创 2021-02-19 23:45:14 · 930 阅读 · 0 评论 -
Unity代码创建
利用Unity 自带的类创建常用的文件夹public static class SystemUtility{ [MenuItem("Tools/InitFolder")] public static void InitFolder() { CreateFolder("Arts"); CreateFolder("3D"); CreateFolder("2D"); CreateFolder("Plugins");原创 2021-02-19 23:44:00 · 475 阅读 · 0 评论 -
Unity Slider 血条跟随
public class FollowPlayer : MonoBehaviour{ public float xOffset; public float yOffset; public RectTransform recTransform; void Update() { Vector2 player2DPosition = Camera.main.WorldToScreenPoint(transform.position); r原创 2020-12-31 12:56:56 · 485 阅读 · 0 评论 -
Unity.AppQuit()
原创 2020-12-22 19:08:54 · 373 阅读 · 0 评论 -
Unity-打包(EXE、APK)后续操作处理
1、打包去掉unity启动动画File-> BuildSetting->PlayerSetting->splash Image Show Unity Logo 取消勾选即可2、原创 2020-12-19 23:01:03 · 588 阅读 · 1 评论 -
Unity-卡片循环滚动
using UnityEngine;using System.Collections;using UnityEngine.UI;using DG.Tweening;using System;enum FINGER { FINGER_STATE_NUL, FINGER_STATE_TOUCH, FINGER_STATE_ADD }public class CardMove : MonoBehaviour{ private GameObject[] sprites; priv.转载 2020-11-13 01:54:04 · 954 阅读 · 1 评论 -
Unity完整读取串口数据方法
一次性读取完整串口数据。using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO.Ports;using System.Threading;using System;using System.Text; public class PortControl : MonoBehaviour{ [Header("串口名")] public string portN原创 2020-11-13 01:23:24 · 2346 阅读 · 4 评论 -
Unity-利用特性动态给脚本添加脚本
using System;using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 指定特性运用与那一类型/// 将对象指定为 class/// </summary>[AttributeUsage(AttributeTargets.Class)]public class BindPrefab : Attribute { //当前预制件原创 2020-10-21 00:15:51 · 892 阅读 · 0 评论 -
Unity-利用反射动态给对象添加脚本
using System.Collections;using System.Collections.Generic;using UnityEngine;public interface ILoader{ GameObject LoadPrefab(string path, Transform parent = null);}using System.Collections;using System.Collections.Generic;using UnityEngine;p原创 2020-10-20 22:31:46 · 640 阅读 · 0 评论 -
计时服务-计时器(Client)
//==========================// - FileName: PETimer.cs // - Created: true. // - CreateTime: 2020/08/07 02:40:30 // - Email: 1670328571@qq.com // - Region: China WUHAN // - Description: 计时器//====================原创 2020-09-27 21:35:32 · 211 阅读 · 0 评论 -
战斗系统类型、模式
原创 2020-09-17 15:00:28 · 417 阅读 · 0 评论 -
游戏中的系统开发流程
原创 2020-09-16 12:17:33 · 738 阅读 · 0 评论 -
战斗系统框架搭建
原创 2020-09-16 12:16:56 · 1266 阅读 · 1 评论 -
动作游戏的战斗系统设计
一、战斗的基本要素1、按键反馈(技能)提到动作类游戏我们大多都会想到《鬼泣》、《忍龙》中华丽的连击操作,或是《波斯王子》中灵巧的腾挪跳跃,做出这一系列动作的玩家们都离不开一项最基本的操作——按键。所以动作类游戏的根本是能够通过不同的按键做出不同的攻击,产生不同的反馈让玩家能够感受到不同的战斗连续技内容。其中对于按键操作的反馈设计,又可以拆分为连打设计,按键顺序设计,交互依赖设计四项内容。其基本内容就是为了能够在游戏过程中通过长按、短按、按键顺序、按键操作组合或QTE等来解决游戏迷题。Dust连击表原创 2020-09-15 11:48:31 · 2381 阅读 · 0 评论 -
ARPG游戏的战斗系统设计经验分享
在有意无意的情况下,我有幸参与了一款ARPG游戏的战斗系统的制作,在项目快要收尾之际,对于ARPG类的战斗系统制作,我也有了自己一点小小的心得。1、表现先来分析一下一款APRG类游戏的组成元素,如果比作一个人,那数值框架就是骨骼,系统架构是血肉,这两者是相辅相成,紧密联系的,属于游戏底层的东西,这里面就包括了游戏的玩法、机制和各种成长流线。至于表层的东西,可以粗略分为三大块:文案、关卡、战斗,其实这样分又有所谬误的,因为从实际上来说,文案、关卡、战斗三者之间互相的联系十分紧密,就像数值和系统一样,分开原创 2020-09-15 11:44:20 · 2789 阅读 · 1 评论 -
异步场景加载(Aciton回调)
今天讲一个比较常用的必备知识,异步场景加载关于Unity异步加载场景首先要提到两点1、Application.LoadLevel加载场景的方式早已被SceneManager.LoadSceneAsync(“你的场景名称”)替代,并且在官方API中有提到使用AsyncOperation来决定操作是否完成2、 关于AsyncOperation: AsyncOperation的progress(0-1)属性在isDone为false时,最大加载到0.9就会暂停,直到isDone为true时才会继续加原创 2020-09-15 00:20:43 · 968 阅读 · 0 评论 -
Unity脚本生命周期图
原创 2020-09-06 09:33:39 · 263 阅读 · 0 评论 -
RPG、ARPG、MMORPG底部经验条自适应的原理、详解
RPG底部经验条自适应原理在一些大型的RPG中,都能够看到底部有一个经验条的展示,这个地方的经验条直接跟游戏角色的等级挂钩的,是一个比较重要的东西,还是的时候没有觉得这个东西有多么的难。没想到是我太年轻了,这么麻烦。。。OK 先看效果图。类似这样的经验条,当你的屏幕分辨率在发生变化的时候,如果不加以处理的话,它是没有办法进行自适应的。目前的使用的是标准的开发分辨率,那么如果说这样;那么就不忍直视了。再或者是这样:呵呵,都不相信会出现这样的结果。。。那么这种情况下我们都会去选择解决这.原创 2020-08-12 17:05:44 · 689 阅读 · 0 评论 -
自定义UI事件工具类
//==========================// - FileName: UIListener.cs // - Created: true. // - CreateTime: 2020/08/07 22:29:19 // - Email: 1670328571@qq.com // - Region: China WUHAN // - Description: Unity 事件监听//==========原创 2020-08-07 22:36:09 · 199 阅读 · 0 评论 -
场景过渡进度条
private void Start() { LoadAScene(); } public void LoadAScene() { StartCoroutine(LoadSceneAsync("SceneLogin")); } IEnumerator LoadSceneAsync(string sceneName) { AsyncOperation operation = SceneManager.L原创 2020-08-07 22:10:14 · 155 阅读 · 0 评论 -
Unity打包apk后运行时锁定横屏
原创 2020-07-31 10:09:49 · 972 阅读 · 0 评论 -
Unity 设置Panel的 top left right bottom自适应屏幕
在我们自己制作UI界面的时候,需要动态的生成Panel,并希望在屏幕中平铺开来,也就是需要设置left,top,right,bottom的值,使它与父物体大小保持一致,这点在UGUI中已经做好了封装,可以通过设置如下属性来实现 RectTransform rt = GetComponent<RectTransform>(); rt.offsetMin = Vector2.zero; rt.offsetMax = Vector2.zero;动态加载出来 以后效果是这样的原创 2020-07-31 09:49:55 · 1022 阅读 · 0 评论 -
随机生成游戏角色昵称(在Unity中解析XML配置文件)下
上一篇文章我们说到了,配置文件的生成,接下来继续,也就是1、Unity中,使用资源加载系统去 加载配置文件(客户端)2、在C# 文件 IO 接口加载文件(服务器)所以这里直接就上源代码了:上代码之前看把 XML 贴出来吧<?xml version="1.0" encoding="UTF-8" standalone="yes"?><root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <item ID原创 2020-07-29 01:52:12 · 1903 阅读 · 0 评论 -
随机生成游戏角色昵称(使用Excel配置XML文件)上
在游戏开发中,基本上每一个游戏都有 随机生成游戏角色昵称的模块儿,游戏昵称这个东西是由策划来进行完成的,而策划一般情况下是不会写代码的,如果他写的不好还行,如果写好了咱们就失业了,so 咱们都是让策划去 配置一些数据,然后生成配置文件,由程序来读取配置文件,然后随机生成。常用的配置文件一般有两种:1、JsonJson轻量级配置文件,开发人员用的比较多的一款,这里强烈建议掌握。但是我们的这篇文章是以 XML 为重点,所以就带过啦2、Xml (本文将围绕 Xml 展开)上图中我们看到的就是 游戏中需原创 2020-07-29 01:04:50 · 3147 阅读 · 1 评论 -
UI中的Scroll View组件中的 Content自适应组件
原创 2020-07-28 00:42:32 · 378 阅读 · 0 评论 -
通过递归算法查找对象
using UnityEngine;public class GetChilds{ //使用 静态关键字进行修饰便于外部进行修饰 public static GameObject GetChild(Transform trans, string childName) { //得到当前脚本挂在的对象 Transform child = trans.Find(childName); //找到的时候 if (child原创 2020-07-23 19:28:38 · 474 阅读 · 0 评论 -
人物移动控制脚本
//==========================// - FileName: PlayerMove.cs // - Created: true. // - CreateTime: 2020/07/21 23:58:59 // - Email: 1670328571@qq.com // - Region: China WUHAN // - Description: //====================原创 2020-07-23 19:26:50 · 1132 阅读 · 0 评论 -
相机跟随脚本
//==========================// - FileName: FollowTarget.cs // - Created: true. // - CreateTime: 2020/07/22 15:53:19 // - Email: 1670328571@qq.com // - Region: China WUHAN // - Description: 相机跟随脚本//============原创 2020-07-23 19:23:31 · 307 阅读 · 0 评论 -
简单 UI框架-基于Stack
简易 UI 框架//==========================// - FileName: IBaseManager.cs // - Created: true. // - CreateTime: 2020/07/02 18:00:58 // - Email: 1670328571@qq.com // - Region: China WUHAN // - Description: 管理者接口//====原创 2020-07-23 19:22:04 · 379 阅读 · 0 评论 -
SVN使用注意事项
众所周知,unity是非常著名的游戏开发引擎。那么,unity可以用svn吗?当然可以了。用Unity3D也有一段时间了,由于团队一直使用SVN进行版本管理,现在给大家总结一下:(1) Unity3D的二进制资源必须加锁进行版本控制,因为它没办法merge;(2) Unity3D自己产生的C#工程相关文件,包括VS产生或者Mono产生的,都不需要归入版本控制;(3) 在新加入项时,Unity3D会产生一个同名的.meta文件,这个文件记录了此项一个唯一的64位的guid,这个文件必须上传,否则会出现各原创 2020-07-16 17:36:18 · 359 阅读 · 0 评论 -
UGUI - Tips提示信息面板制作小技巧
一个比较简单的动态弹窗提示面板:首先新建一个 Panel ,命名为:DynamicPanel并且将它身上多余的东西全部移除掉:然后设置为下图所示:中间的 Center_Pin 是做的一个 UI 自适应。紧接着添加一个动画:选中 Txt 对象,按下 Ctrl + 6点击红色箭头处,为设置当前动画对象紧接着打开 Text 对象身上的 Text 组件,设置一下 透明度,具体的动画状态机贴在下面了...原创 2020-07-14 23:15:05 · 654 阅读 · 0 评论 -
Unity - 九宫格切图报错
使用Unity 2019 时创建的3D项目使用 sprite editor时出现no sprite editorwindow registered please download 2d sprite 错误解决方法:window->package manager 通过packages 查找到 2d sprite 下载后即可使用原创 2020-07-14 21:07:27 · 1339 阅读 · 0 评论 -
UI-ScrollView中的Content自适应宽高
Unity中的UI 的组件 ScrollView 做的是一个比较好的组件,但是唯一的缺点就是:原创 2020-07-11 01:27:09 · 712 阅读 · 0 评论 -
控制物体前后左右的移动
private void Move() { float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); transform.Translate(new Vector3(h, 0, v) * speed * Time.deltaTime,Space.World); //朝向 transform.rotation = Quaterni原创 2020-07-04 16:28:45 · 676 阅读 · 0 评论 -
Unity递归获取对象
using UnityEngine;public class BaseGetConmpont{ //使用 静态关键字进行修饰便于外部进行修饰 public static GameObject GetChild(Transform trans, string childName) { //得到当前脚本挂在的对象 Transform child = trans.Find(childName); //找到的时候 if (原创 2020-06-19 16:03:05 · 291 阅读 · 0 评论 -
Unity - 学习路线图
原创 2020-06-13 16:35:01 · 1241 阅读 · 1 评论 -
Unity -使用VsCode编辑器编译Csharp脚本
https://blog.youkuaiyun.com/qq_36848370/article/details/89488257转载 2020-06-12 15:17:37 · 950 阅读 · 0 评论