自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用Perforce Helix Core和AWS实现Unity云端版本控制

使用Perforce Helix Core连接AWS实现Unity云端版本控制

2022-08-29 07:50:34 885 1

原创 UEC++学习之--删除类的简便方法

我们想删除FirstActor这个类打开VS,选中要删除的类,点击删除打开这个类所在的文件夹在Source文件夹下再次删除这个类回到VS, 编译, 这样就成功删除了, 是不是很简单?如果没成功的话,试试重启一下UE编辑器...

2022-04-09 12:03:10 1090

原创 UnityC#学习之--LineRenderer组件

目录1. 定义2. 创建3. 重要参数1. 设置点2. 是否使用世界坐标系3. 是否首尾相连1. 定义LineRenderer 是 Unity 提供的一个用于画线的组件,使用它我们可以在场景中绘制线段一般用于:1 绘制攻击范围2 武器红外线3 辅助功能 ...2. 创建在空物体上添加 Line Renderer 组件或者直接通过代码添加 void Start(...

2022-01-28 08:07:32 3861

原创 UnityC#学习之--场景异步切换

1. 通过事件回调函数 异步加载不要忘了在 Build Settings 里添加想要切换的场景!! AsyncOperation ao = SceneManager.LoadSceneAsync("场景名称");//加载完毕后处理逻辑的事件ao.completed += (a) =>{ print("加载结束");};2. 通过协程 异步加载待续......

2022-01-24 09:20:46 1965

原创 数据结构学习之 -- Linked List<T> 链表(C语言描述)

目录创建插入删除遍历是否为空typedef struct Node { int data; struct Node* pNext;}NODE,*PNODE;创建PNODE create_list() { //listNode length. int len; //listNode value. int value; //Init linkedlist length. printf("Please input list long:"); scanf(

2022-01-20 08:40:36 602

原创 UnityC#学习之-- Resources 特殊文件夹

Resources支持的加载类型:1.预设体对象——GameObject2.音效文件——AudioClip3.文本文件——TextAsset4.图片文件——Texture...................资源同步加载 普通方法Object obj = Resources.Load("Cube");Instantiate(obj);//----------------------------------GameObject...

2022-01-20 08:15:34 2654

原创 UnityC#学习之--协同程序(协程)

开启协程 void Start() { IEnumerator ie = MyCoroutine(1, "123"); StartCoroutine(ie); } IEnumerator MyCoroutine(int i, string str) { print(i); //协程函数当中 必须使用 yield return 进行返回 yield return null;

2022-01-14 09:01:01 1567

原创 UnityC#实现最快捷的计时器

利用 Invoke 函数调用 int time = 0; void Start() { DelayFun(); } //调用外层包裹自己的函数 private void DelayFun() { print(time + "秒"); ++time; Invoke("DelayFun2", 1); }

2022-01-13 08:51:02 936

原创 UnityC#学习之--Invoke

会延时执行的函数是 MonoBehaviour 基类中实现好的方法Invoke参数一:函数名 字符串参数二:延迟时间 秒为单位 void Start() { Invoke("DelayDoSomething", 1); } private void DelayDoSomething() { print("延时执行的函数"); TestFun(2); } private

2022-01-12 08:17:30 1984

原创 UnityC#学习之--四元数

目录概念构成公式应用概念3D空间中的旋转量, 绕着任意一个向量旋转的角度得到的旋转量构成一个四元数包含一个标量和一个3D向量[w, v], w 为标量, v 为3D向量[w, (x, y, z)] 对于给定的任意一个四元数: 表示3D空间中的一个旋转量公式假设绕着 n 轴旋转 β 度, n 为(x, y, z)那么可以构成四元数为:四元数 Q = [cos(β/2), sin(β/2)n]四元数 Q =[cos(β/2), sin(β/2)x.

2022-01-07 08:52:48 1538

原创 UnityC#学习之--插值运算

目录1. 线性插值Lerp1) 先快后慢, 平滑移动2) 匀速2. 球形插值Slerp1) 和线性插值区别2) 用法1. 线性插值Lerp1) 先快后慢, 平滑移动公式start = start + (end - start) * t(t 不变)用法 //1.先快后慢 每帧改变start位置 位置无限接近 但不会得到end位置 A.position = Vector3.Lerp(A.position, B.positio..

2022-01-05 10:24:07 2400 1

原创 UE蓝图学习之--移动

1. 向前移动打开 Project Settings -> Engine -> Input -> Bindings _> Axis Mappings如图输入MoveForward 回车, 选择w (键盘映射, 想让角色按哪个键移动就输入哪个)打开你要移动的物体的蓝图, 在 Event Graph里右键创建向前移动事件, 再创建 Add Movement Input 如图设置即可...

2022-01-03 13:36:37 2205

原创 UnityC#学习之--画线(测试用)

首先说明这里画的线只在编辑器里显示, 画激光有另外的方法目录1. DrawLine2. DrawRay1. DrawLine需要两个坐标1, 坐标2, 并且写到Update方法里Debug.DrawLine(this.transform.position, target.transform.position, Color.blue) ;2. DrawRay需要一个起点和一个方向Debug.DrawRay(this.transform.position, t..

2022-01-03 10:08:49 1077

原创 UE蓝图学习之--动画蓝图

1. 创建右键选择动画蓝图 Animation Blueprint, 选择好骨骼点击创建2. 设置选择右下角的 Asset Browser, 选择你想要执行的动画, 拖到视口当中, 连接到 out 3. 使用打开你的人物蓝图, Mesh选择之前骨骼对应的Mesh, Animation Class 选择之前创建的...

2022-01-02 20:55:35 3754

原创 UE编辑器人性化设置

保持所有标签都在主窗口上左上角Edit -> Editor Perferences -> General -> Appearence -> User Interface -> Asset Editor Open Location -> Main Window 游戏开始直接捕获鼠标Edit -> Preferences -> Level Editor -> Play -> Player in Editor -> G...

2022-01-02 20:09:50 234

原创 UnityC#学习之--特性[]

目录1. [SerializeField]2. [HideInInspector]3.[System.Serializable]4.[Header()]5.[Tooltip()]6.[Space()]7.[Range(min, max)]8.[ContextMenuItem("显示按钮名", "方法名")]9.[ContextMenu("测试函数")]1. [SerializeField]让私有的和保护的也可以被显示[Serializ...

2022-01-02 10:40:08 972

原创 UEC++学习之--结构体

1. 创建UENUM(BlueprintType)enum class EDamageType : uint8{ DT_Normal UMETA(DisplayName = "Normal"), DT_Fire UMETA(DisplayName = "Fire"), DT_Ice UMETA(DisplayName = "Ice"),};UCLASS()class EXERCISE_API AENUMTEST : public AActor{ GENERATED_BODY()

2022-01-01 14:27:26 823 1

原创 UnityC#学习之--向量

1. 向量是什么有数值大小, 有方向的矢量在Unity里一个Vector3类型的数值例如(1,2,1), 既可以表示一个点, 也可以表示一个由原点指向这个点的向量位置 —— 代表一个点this.transform.position方向 —— 代表一个方向this.transform.forward可以理解为以世界坐标系为基准的偏移值2. 向量的计算两个点就能决定一个向量要计算一个由A点指向B点的向量的话, 只需用B点坐标减去A点坐标即可即终点减起点.

2022-01-01 09:55:33 3967 1

原创 UEC++学习之--GameInstance

1. 创建和设置创建继承自 GameInstance 的C++类 头文件里加上UCLASS(BlueprintType, Blueprintable)// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Engine/GameInstance.h"#include "MyGameIn..

2021-12-31 15:17:56 1312

原创 UEC++学习之--结构体UStruct

在头文件里定义结构体和结构体变量(注意不要忘了加USTRUCT(BlueprintType)和GENERATED_BODY()!)USTRUCT(BlueprintType)struct FHealth{ GENERATED_BODY() UPROPERTY(EditAnywhere, BlueprintReadWrite) float health = 100; UPROPERTY(EditAnywhere, BlueprintReadWrite) float MaxHealth

2021-12-31 14:16:37 1221

原创 UnityC#学习之--实现一个物体按曲线移动(正弦/余弦)

//面朝向移动速度 public float moveSpeed = 5; //左右曲线移动变化的速度 public float changeSpeed = 2; //左右曲线移动距离控制 public float changeSize = 0.5f; private float time = 0; void Update() { //面朝向移动 this.transform.Translate(V...

2021-12-31 08:49:37 1998 1

原创 UnityC#学习之--弧度和角度相互转化

1. 角度转弧度//角度转弧度float anger = 1;rad = anger * Mathf.Deg2Rad;2. 弧度转角度//弧度转角度float rad = 1;float anger = rad * Mathf.Rad2Deg;

2021-12-30 12:51:36 1824

原创 UEC++学习之--暴露函数UFUNCTION

1. 作用可以让蓝图调用C++写好的函数,实现通信2. 参数BlueprintCallable:蓝图可以调用该函数,但函数体只能在C++中实现无返回值//声明UFUNCTION(BlueprintCallable)void PrintAString(FString String);//实现void ATestClass::PrintAString(FString String){ GEngine->AddOnScreenDebugMessage (-1, 5.

2021-12-29 10:39:48 1107

原创 UEC++学习之--暴露变量UPROPERTY

作用将变量公开到编辑器或蓝图参数VisableAnywhere:公开变量到编辑器和蓝图(仅显示) EditAnywhere:显示可编辑变量到编辑器和蓝图 Category:将变量分组,便于查看 其中|表示二级分组meta:限制变量大小 其中ClampMin/Max表示键盘所能输入的极限值,UIMin/Max表示滑动条所能拖动的极限值VisibleDefaultsOnly:在编辑...

2021-12-27 12:53:34 1710 1

原创 UEC++学习之--Debug函数

打印到消息日志首先点击左上角工具栏中的window下开发者工具Developer Tools下的Output log打开消息日日志 然后再C++类的BeginPlaye()里输入 void ATestClass::BeginPlay(){ Super::BeginPlay(); UE_LOG(LogTemp, Warning, TEXT("Hello World!")); }其中warning代表黄色警告,可以换成红色的Error,TEXT()里面就是你想打印的字...

2021-12-26 14:50:04 675

原创 UEC++学习之--创建C++类

点击左上角的工具栏里的 File 选项然后选择 New C++ Class 创建C++类 选择 Actor 类,相当于 Unity 的 GameObject 游戏对象 起个名字,然后点击 Create Class第一次加载需要花费一些时间,耐心等待即可 要查看行创建的C++类需要确保 View Option 里的 Show C++ Class 是打钩的 在这里就可以看到了~! ...

2021-12-25 11:56:47 1642

原创 UE蓝图学习之--分组和取消分组

选中需要分成一组的多个物体 右键选择Group,或是快捷键Ctrl+G这样就能同时选中多个物体了取消分组同样是右键选择UnGroup或是快捷键Shift+G

2021-12-24 13:51:59 3694

原创 UnityUI超简单实现敌方血条近大远小的效果

具体思路就是使用UnityC#里的Camera.WorldToScreenPoint方法,其z轴近似敌方到玩家摄像机的距离,通过这个z轴数值乘以血条的长宽来实现近大远小首先附上我的血条制作博客:Unity创建能跟随玩家移动血条HP的方法,so easy_wanghexuan的博客-CSDN博客1.首先创建画布,渲染模式Render Mode改成Word Space,并调整参数至玩家头顶2. 再创建两个Texture,一个作为背景,一个作为血量,HPBarBG背景颜色最好设置成暗色调作为血量的text

2021-12-22 10:45:00 1390

原创 UE蓝图学习之--画点画线Draw Debug Point/Line

这个在射线检测上用的非常多,整体思路是画点需要找一个坐标,画线需要找一个起点坐标和一个终点坐标.那么废话不多说,Let's Go1. 画点首先拖一个空物体,然后在选中这个物体的情况下打开关卡蓝图,并且在关卡蓝图里右键创建这个空物体的引用 Get它的Location 然后再右键输入Draw Debug Point 选择 Position: 坐标 Size: 大小 Point Color: 颜色...

2021-12-20 11:11:56 4437

原创 使用面向对象思想简单实现Unity射击游戏不同枪械有数量不同的子弹发射口

在开发射击游戏时,经常会碰到不同枪械有不同的子弹发射口的数量,或是不同的发射口会生成不同子弹的问题.其实实现起来很容易:写一个Weapon武器类,然后公开出发射点的成员变量, 在编辑器里修改即可类图代码public class Weapon : MonoBehaviour{ //用于实例化的子弹对象(也可以做成数组) public GameObject bullet; //外部决定到底有几个发射位置 public Transform[]...

2021-12-18 08:56:59 1258

原创 Unity用面向对象的思想实现拾取随机武器的快捷方法

整体思路很简单,玩家捡道具(Trigger触发检测),碰到了,就切换武器玩家有拿武器的位置,当前武器,切换武器的方法道具类有此道具是什么武器的信息,还有调用玩家切换武器的方法整体类图玩家类public class PlayerObj : TankBaseObj{ //当前武器 public WeaponObj nowWeapon; //武器父对象位置 public Transform weaponPos; public voi..

2021-12-14 11:32:31 2336

原创 UE蓝图学习之--获取/设置物体的位置旋转缩放

首先把一个默认物体Cube拖到场景里在保持物体被选中的情况下打开关卡蓝图,右键选择这个物体的引用1. 获取位置再新创建的节点处拉出一条线搜索GetActorLocation运行游戏,按1打印出来看看吧2. 获取旋转同理,只需要吧GetActorLocation改成GetActorRotation即可3. 获取缩放同理,只需要吧GetActorRotation改成GetActorScale 3D即可...

2021-12-13 10:58:45 6675

原创 UE蓝图学习之--结构体数组

1. 添加2. 访问3. 遍历

2021-12-12 13:45:04 769

原创 UnityUI实现最基础常用的小地图(附带小地图代码)

本篇介绍的制作小地图的方法,本质上是把Camera摄像机上渲染的场景映射到一个image图片的texture材质上,方法非常的简单,跟着步骤做就没有问题~1. 首先创建一个Camera,调整位置为俯视,然后移除上面的Audio Listener组件2. 在资源文件夹下创建RenderTexture,起名为Map,把它拖拽给新创建的Camera上的TargetTexture,这时候图片材质就会显示Camera渲染的场景 3.再用UGUI创建一个Raw Ima...

2021-12-11 07:54:00 2518

原创 数据结构学习之--List<T>的内部实现

自己实现一个内部有增删查改的方法,且能够自动扩容,暴露数组容量和长度的泛型工具类(C#) class ArrayList<T> { private T[] array; //当前正儿八经存了多少数 private int count; public ArrayList() { count = 0; //一开始的容量就是16

2021-12-10 08:42:03 265

原创 用UE蓝图实现AI随机移动

AI随机移动

2021-12-07 13:38:10 865

原创 Unity创建能跟随玩家移动血条HP的方法,so easy

1.首先创建画布,渲染模式Render Mode改成Word Space,并调整参数至玩家头顶2. 再创建两个Texture,一个作为背景,一个作为血量,HPBarBG背景颜色最好设置成暗色调作为血量的texture(HPBar)需要设置一张自己的2D图片(不然下面的工作无法进行)再改变image Type为Filled,Fill Method为水平Horizontal改变FillAmount就可以改变图片的显示范围,就可以模拟一个血条血槽辣3. ..

2021-12-06 11:07:02 1597

原创 关于如何练习口语,分享一个人练习日语口语的一些心得

我的看法是,不管学习什么语言,说到底核心一定不会变,那就是--背.背单词,背短语,背句子.绝大多数人都没有过目不忘的能力,所以还要不停的反复复习.但是练习口语,单纯的靠背是不行的,背是输入,我们还需要不断地输出来帮助提高口语能力比较遗憾的是,想要找到和自己水平相当而且肯愿意天天和自己对话的语伴非常难,需要一定的运气和外向的性格,但是像我这种社恐人士二者对我来说是完全不存在的所以这里给大家提供几个方法,作为参考,希望能帮的上各位1. 找喜欢的日剧,动漫,然后边看边总结或者说概括现在发生的剧

2021-12-05 10:41:08 138

原创 面向对象思想在UnityUI控制背景音乐音效大小开关中的运用

几乎所有游戏的设置面板都会有控制音效BGM背景音乐Music的开启或关闭,音量大小调整的选项.那么我们如何用最简单最直接快捷的面向对象思想来实现这个功能呢?接下来就为大家说明.AudioSource部分1.首先创建一个空物体,添加AudioSource组件,把你想播放的Audio拖上去(我这里颜色有点怪,不过无伤大雅)2.再在空物体上新建一个脚本,用于管理音频这个脚本里定义自身的AudioSource,还有向外公开改变音量大小和开启关闭的方法...

2021-12-03 11:04:02 3869

原创 常见的秒数转化为时分秒的问题

整体思路就是利用int类型只保留整数位的特性,先算小时然后算分钟最后算秒.小时就是用秒数除以两个60也就是3600所得出来的整数.分钟就是用秒数除以3600的余数(此时余数代表除去小时后剩余的秒数),再除以60,得出来的整数就是分钟.秒就是直接用秒数除以60所得的余数,这里的意思是秒数除以60是整体秒数所能转化的最大的分钟,除不尽的自然就是剩下的秒数喽.公式:int time = 1000;int hour = time / 3600;int minute = time % 360

2021-12-02 13:46:35 4584 1

空空如也

空空如也

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

TA关注的人

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