Unity
文章平均质量分 93
至肝主义圈毛君
Game Building
展开
-
【Unity】压缩项目文件夹报错:找不到文件或没有读取权限
报错内容:先说一句,WinRAR菜b,7z牛b!为什么说这个呢?因为这个报错原因就是WinRAR的锅。7z下载地址:https://www.7-zip.org/download.html换7z压缩文件夹就可以了。...原创 2020-01-02 20:50:49 · 29211 阅读 · 4 评论 -
【Unity DOTween】Get Started,开始入门
目录最重要也是最开始的部分 DOTween中的概念 DOTween中的前缀 DOTween的写法 DOTween的控制方式 FROM形式的Tween Tween的生命周期最重要也是最开始的部分在资源商店导入DOTween插件后,首先Setup DOTween,打开Tools/Demigiant就可以看到帮助面板。在脚本中使用DOTween要引入它的命名空间:us...原创 2019-12-09 22:50:03 · 495 阅读 · 1 评论 -
【Unity2D】在点击放置游戏中,如何限制物品的放置条件?比如不能重叠放置、只能在某一范围放置等
如何限制在某一范围内放置?首先在场景中新建一个空物体。 然后添加Sprite Renderer组件,拖进一张类似放置范围形状的图片,样子无所谓,因为透明度可以设成0,添加碰撞体后还可以删掉。 接着添加碰撞体,碰撞体类型也是根据放置范围的形状需要,并将碰撞体的Is Trigger属性勾选上。可以开始写代码了,核心代码如下: public Collider2D boardA; ...原创 2019-11-17 14:45:36 · 2729 阅读 · 0 评论 -
【Unity JSON】一点点数据存储读取的经验分享(可用于背包系统、角色属性、关卡记录等等)
前提:导入JSON.NET for Unity插件,资源商店的免费插件1. 明确需要存储的信息有哪些,我个人习惯是用ScriptableObject作为数据集。比如我这里有一个简单的背包,背包需要被收集物品的名称、描述,以及在背包UI中显示的图片。加上CreateAssetMenu属性后可以在资源窗口随意创建,比较舒服。using UnityEngine;[CreateA...原创 2019-11-19 12:25:22 · 771 阅读 · 0 评论 -
【Unity Rigidbody】如何消除AddForce带来的惯性?
1. 判断输入值是否大于0(我这里用了自定义的虚拟摇杆)if (Mathf.Abs(scrollRect.output.x) > 0)2. 判断当前速度是否达到最大速度(如果存在最大速度的话)if (Mathf.Abs(scrollRect.output.x) > 0) if (Mathf.Abs(rgb.velocity.x) <= maxSpeed)...原创 2019-11-18 14:06:57 · 6382 阅读 · 0 评论 -
【Unity JSON】JSON文件是什么?如何在Unity中通过JSON文件存储数据?
目录JSON文件是什么?如何在Unity中通过JSON文件存储数据?序列化存储反序列化读取数据覆盖JSON文件是什么?谷歌一下JSON文件的定义(维基百科)。JSON文件的内容非常简单,就是键值对、键值对......和键值对。我们可以很直观地看到,JSON文件是将数据以关键字和数值配对的形式序列化,然后存储下来。(写JSON文件时建议用英文,不然容易出现...原创 2019-11-16 12:04:06 · 746 阅读 · 0 评论 -
【Unity】在Inspector中显示脚本组件的提示信息
显示提示信息有两种方法,一种是鼠标悬停时显示,另一种是一直显示。[Tooltip("鼠标悬停时显示")]int a;[Header("一直显示")]int b;原创 2019-11-10 15:37:03 · 1361 阅读 · 0 评论 -
教程 | 在Unity中使用 Isometric Tilemap(等距、正交)
B站圈毛君翻译教程:如何在Unity中使用 Isometric Tilemap:https://www.bilibili.com/video/av49716454/使用 Isometric Tilemap 搭建2D场景:https://www.bilibili.com/video/av50228545/如何编写2D等距视角下的角色控制脚本:https://www.bilibili.co...原创 2019-11-06 15:11:52 · 2790 阅读 · 0 评论 -
【Unity Tilemap】教程 | Basic、Rule Tile、Prefab Brush、Tilemap Collider
B站圈毛君翻译教程:The Basic:https://www.bilibili.com/video/av48965588/Rule Tile:https://www.bilibili.com/video/av49083381/Prefab Brush:https://www.bilibili.com/video/av49098444/Tilemap Collider:https:...原创 2019-11-06 15:08:33 · 3299 阅读 · 0 评论 -
【Unity Scriptable Object】教程 | 在Unity中使用 Scriptable Object 存储物体数据信息
B站圈毛君翻译教程:https://www.bilibili.com/video/av51802253/原创 2019-11-06 15:04:32 · 910 阅读 · 0 评论 -
【Unity FPS】教程 | 使用Unity制作第一人称角色控制器
B站圈毛君翻译教程:https://www.bilibili.com/video/av74448416/原创 2019-11-06 14:59:21 · 2881 阅读 · 0 评论 -
【Unity】配置ECS环境,修改manifest.json文件
如何打开manifest.json文件?项目文件夹 → Packages → manifest.json打开文件,将文件内容替换为以下语句:{ "dependencies": { "com.unity.ads": "2.0.8", "com.unity.analytics": "3.3.2", "com.unity.burst": "1.1.2",...原创 2019-05-17 12:56:43 · 5411 阅读 · 0 评论 -
【Unity脚本】游戏开发常用功能笔记——随机数和四舍五入
using Random = UnityEngine.Random;public float minFloat;public float maxFloat;public int minInt;public int maxInt;private void GenerateRandom(){ float ranFloat = Random.Range(minFloat, m...原创 2019-10-23 12:31:30 · 1031 阅读 · 0 评论 -
【Unity脚本】游戏开发常用功能——以平台动作游戏为例解决“瞬移穿墙”问题
核心代码using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// Author:圈毛君/// MoveController:2019/10/18 20:50/// </summary>public class PlayerCon...原创 2019-10-18 22:00:10 · 769 阅读 · 0 评论 -
【Unity脚本】游戏开发常用功能——双击键盘跑步/快步
using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// Author:圈毛君/// MoveController:2019/10/18 20:50/// </summary>public class PlayerControlle...原创 2019-10-18 20:54:42 · 2118 阅读 · 3 评论 -
【Unity + Github】使用GithubDesktop管理Unity项目
目录创建远程库(Github)协作办公克隆Unity Projection Settings提交与拉取提交(Commit+Push)前一定要先拉取(Fetch+Pull)更新。拉取更新后,如果报错(error),查看报错内容:1. 如果内容与某些文件相关,如场景文件、资源文件、预制体、脚本等相关,而且拉取的更新是更正确的内容,则可以删除本地文件后再次拉取。2. ...原创 2019-10-13 15:09:07 · 2707 阅读 · 1 评论 -
【Unity】Timeline学习笔记(七):自定义片段(Clip)
一// 继承PlayableAsset类,实现ITimelineClipAsset接口正如自定义轨道(Track)需要继承TrackAsset类那样,自定义片段(Clip)也要遵守一定的模板:继承PlayableAsset类,以及实现ITimelineClipAsset接口。using UnityEngine;using UnityEngine.Playables;using Uni...原创 2019-10-04 11:51:08 · 3846 阅读 · 0 评论 -
【Unity】Sprite九宫格到底怎么玩?
在制作按钮或对话框时,九宫格会非常有用。九宫格切分亦是Image组件中使用Sliced或Tiled模式的前提。修改Image的尺寸时,不同区域会发生相应的变化:四个角(ACGI区域)尺寸不会变化 B和H会横向缩放(Sliced)或重复(Tiled) D和F会竖向缩放(Sliced)或重复(Tiled) E区域会同时在横向和竖向缩放(Sliced)或重复(Tiled)...原创 2019-10-03 16:06:57 · 1845 阅读 · 0 评论 -
【Unity】三张图让你看懂ShaderGraph编辑器
原创 2019-10-03 11:18:17 · 724 阅读 · 0 评论 -
【Unity】TimeLine学习笔记(五):Clips操作
目录基本视图基本视图操作片段的重叠和混合编辑片段更改片段的播放速度间隙外推(Gap Extrapolation)缓入和缓出片段(Easing-in and Easing-out clips)混合片段(Blending clips)匹配片段偏移(Matching clip offsets)基本视图基本视图操作平移整个视图:鼠标中键拖动,或者按住Al...原创 2019-10-02 13:54:13 · 2581 阅读 · 2 评论 -
【Unity】TimeLine学习笔记(六):Playable Director 组件
总述Playable Director 组件存储了Timeline实例(Timeline instance)与Timeline资源(Timeline Asset)间的连接。组件控制着Timeline实例何时播放、如何更新它的时钟(clock),以及Timeline实例播放结束后发生什么。Playable Director组件还显示关联的Timeline资源(Playable属性)的轨道...原创 2019-10-02 13:47:47 · 16452 阅读 · 0 评论 -
【Unity】Post-Processing Stack V2 使用入门四步走
第一步:安装Post Processing打开 Window 》 Package Manager,找到Post Processing并安装(等待刷新可能要一会)。后面把Post Processing简称为PPS。第二步:创建 Post Processing Profile在项目窗口的资源文件夹中右击,新建一个 Profile(记得养成文件夹分类保存的习惯)。可以将PPS P...原创 2019-10-01 18:51:39 · 6008 阅读 · 0 评论 -
【Unity】TimeLine学习笔记(四):轨道列表及轨道操作
Track List通过轨道列表(Track List)可以添加、选择、复制、删除、锁定、静音和重新排列共同构成Timeline资源的轨道,还可以将轨道整合到轨道组中。彩色边线指示每种轨道类型。 默认情况下,激活轨道为绿色,动画轨道为蓝色,音频轨道为橙色,控制轨道为青绿色,Playable轨道为白色。轨道可以自定义,当然轨道的边线颜色也可以(https://blog.csdn.net/...原创 2019-10-01 17:37:20 · 3076 阅读 · 0 评论 -
【Unity】TimeLine学习笔记(三):TimeLine编辑窗口手册
Preview按钮:选择是否在Game窗口中显示当前Timeline实例的预览动画(的第一帧)。点击播放按钮可自动切换至预览模式。Timeline选择按钮:选择场景中存在的Timeline,括号中会显示与Timeline关联的游戏对象。左边五个是播放器的常见按钮,这里不作赘述。播放范围按钮:播放限定范围中的内容,这仅在预览模式下起作用,播放模式下会忽略限定范围的作用。帧...原创 2019-10-01 16:09:51 · 2409 阅读 · 0 评论 -
【Unity官方文档:圈毛翻译】TimeLine工作流程
Timeline workflowsTimeLine编辑窗口提供了多种不同的,创建TimeLine资源和实例、记录动画、安排动画,以及创建动画内容的工作流程。该篇解释了以下几种工作流程: Creating a Timeline Asset and Timeline Instance Recording basic animation with an Infinite clip...原创 2019-10-01 13:42:57 · 1009 阅读 · 0 评论 -
【Unity】TimeLine常见问题:如何实现人形角色动画的平滑切换
此工作流程演示了如何使用TimeLine实例为具有外部运动片段(external motion clips)的人形角色(humanoid character)制作动画,还演示了如何匹配片段偏移(match clip offsets),手动调整片段偏移,以及在片段之间创建混合(create blends)以最大程度地减少跳转和滑动(jumping and sliding)。 尽管该工作流程使用了人形...原创 2019-10-01 13:40:36 · 2993 阅读 · 0 评论 -
【Unity】TimeLine常见问题:如何录制
可以将动画直接录制到动画轨道。 直接录制到空的动画轨道时,将创建一个无边界的片段。(Infinite clip-直译怪怪的,之后都以“无边界片段”描述)无边界片段是包含在TimeLine编辑窗口中记录的基本关键动画的片段。 无边界片段没有固定大小,无法放置、修剪或拆分。 无边界片段的时间段涵盖整个动画轨道。在创建无边界片段之前,必须为要设置动画的游戏对象添加一个空的动画轨道。在创建无限...原创 2019-10-01 12:48:54 · 4743 阅读 · 0 评论 -
【Unity官方文档:圈毛翻译】TimeLine概述
TimeLine overview - 概述使用TimeLine编辑窗口,通过可视化的部署轨道和片段,制作与场景中的游戏对象关联的场景剪辑、动画和游戏机制的序列。TimeLine编辑窗口中的一段动画。轨道和片段被保存到项目中。游戏对象的引用被保存到场景中。对于每个场景剪辑、动画或者是游戏机制的序列,TimeLine编辑窗口保存以下的信息: Timeline资源:存储轨道、片段...原创 2019-10-01 11:30:25 · 844 阅读 · 0 评论 -
【Unity】TimeLine学习笔记(二):Playables API 概念补充
【参考官方文档】链接:https://docs.unity3d.com/2018.3/Documentation/Manual/Playables.html【博主翻译】Playable API—— Playable APIPlayable API 通过在树结构 PlayableGraph 中组织和评估数据源,提供了一种创建工具、效果和其他游戏机制的方法。 Playable...原创 2019-09-30 19:01:41 · 2799 阅读 · 1 评论 -
【Unity】TimeLine学习笔记(一):自定义轨道(Track)
API参考TrackAsset:https://docs.unity3d.com/2018.3/Documentation/ScriptReference/Timeline.TrackAsset.html TrackBindingTypeAttribute:https://docs.unity3d.com/2018.3/Documentation/ScriptReference/Timeli...原创 2019-09-30 10:32:34 · 4904 阅读 · 2 评论 -
【Unity】Visual Studio 快捷生成 Getter 和 Setter:Ctrl + R,E
【选中需要创建Getter 和 Setter的变量,快捷键Ctrl + R,E】Unity脚本中有一个基本概念叫属性(properties),示例中是属性的基本使用方式。1. 定义属性的脚本using System.Collections;using System.Collections.Generic;using UnityEngine;public class Publi...原创 2019-09-29 23:03:30 · 2178 阅读 · 0 评论 -
【Unity脚本】游戏开发常用功能笔记——游戏得分显示以及最高分记录
using System.IO;using UnityEngine;using UnityEngine.UI;/-----coded by 圈毛君2019/9/18-----/ public class PointCounter : MonoBehaviour{// 总分计数器,同时负责计数的UI显示 private int score = 0; privat...原创 2019-09-18 17:40:02 · 5547 阅读 · 2 评论 -
【Unity脚本】游戏开发常用功能笔记——游戏开始,失败,暂停,重开,退出游戏
using UnityEngine;using UnityEngine.UI;using UnityEngine.SceneManagement;/-----coded by 圈毛君2019/9/18-----/public class GameController : MonoBehaviour{ // 按钮组 public Button startBtn;...原创 2019-09-18 17:30:42 · 6531 阅读 · 1 评论 -
【Unity】角色朝墙体移动时持续碰撞,从而导致角色不断震动,如何解决?本文提供一个思路
解决问题的关键是,使角色在与墙体发生碰撞后,不能再往碰撞方向移动,所以有必要记录角色碰撞时的朝向,同时也要记录“碰撞”的状态。我这里是2D环境,用了Transform.translate()作为角色控制。其他移动方式如AddForce()、Rigidbody.velocity也可以。贴一下代码,代码间有注释。using UnityEngine;public class Playe...原创 2019-08-16 14:21:09 · 4673 阅读 · 0 评论 -
【Unity】场景管理/切换:SceneManager、GetScene、LoadScene、MoveGameObjectToScene等
SceneManagerSceneManager,顾名思义就是场景管理器,包含多个与场景管理相关的函数,将这些函数结合使用将能实现多种场景切换方式,并提高游戏性能。LoadScene + GetSceneByBuildIndex+ LoadSceneMode首先是LoadScene()函数的常用形式:需要注意的是,在大多数情况下,为了避免在加载时出现暂停或性能问题,...原创 2019-06-22 14:32:12 · 12373 阅读 · 1 评论 -
【Unity】碰撞体检测:Ray、Physics.Raycast、Collider.Raycast、RaycastHit
RayRay(光线)仅包含两个属性,origin(起点)和 direction(方向)。光线的最大距离,可以与哪些层的碰撞体接触等信息,都由Raycast(光线发射)决定。Physics.RaycastRaycast(光线发射)的重载函数有15个,最多可有6个参数。RaycastHit(光线接触)存储了光线发射的所有信息。maxDistance(最大距离...原创 2019-06-22 12:54:04 · 7445 阅读 · 0 评论 -
【Unity】重要时间:Time、RealTime、FixedTime、DeltaTime、FixedDeltaTime、Timescale
Time.time返回某一帧开始播放的值(只读)。该时间是游戏开始运行后以秒为单位记录的值。如果在单个帧中多次调用,返回相同的值。 在FixedUpdate函数中调用时,返回Time.fixedTime的值。它更倾向于提供游戏运行时间,而不是每帧的开始时间。Time.realtimeSinceStartup返回游戏开始运行后,以秒为单位的实际时间(只读)。而一般情...原创 2019-06-21 16:18:02 · 11359 阅读 · 0 评论 -
【Unity】Unity在运行时崩溃了怎么办?别害怕,还有救!
进入正题前先补充一句:记得常按Ctrl+S保存,Unity也有Bug,小心Unity的崩溃让你前功尽弃!(不想再加班了QAQ)当我们运行游戏时,Unity偶尔会发生崩溃。如果在运行前忘记了保存项目,那么,请跟我来!实际上,当我们运行游戏,Unity会自动保存场景。但是,此时Unity并不会将场景信息直接保存在原始的场景文件中,而只是保存在项目的Temp文件夹中。Temp文件夹...原创 2019-06-13 15:47:00 · 17231 阅读 · 6 评论 -
【Unity】别让输入方式成为游戏开发中选择目标设备的困扰
一、《Unity的游戏输入设置》链接:https://blog.csdn.net/Ha1f_Awake/article/details/88649355二、《Unity的移动设备输入》链接:https://blog.csdn.net/Ha1f_Awake/article/details/88670796三、《【Unity API】Input类》链接:https://blog.c...原创 2019-03-19 22:42:04 · 516 阅读 · 0 评论 -
【Unity API】Input类
Input类函数是游戏输入系统的接口,使用此类函数可以读取游戏输入设置中的虚轴,以及访问移动设备上的多点触摸或加速度计数据。(关于“游戏输入设置”可以看到我的另一篇文章https://blog.csdn.net/Ha1f_Awake/article/details/88649355)函数1:public staticAccelerationEventGetAccelerationE...原创 2019-03-19 22:19:43 · 893 阅读 · 0 评论