- 博客(69)
- 收藏
- 关注
原创 算法学习(一)
以前一直觉得算法不重要,但是过了这么就还是意识到算法的重要性,在大学期间没有学好,那就要找一些闲暇时间进行学习,首先学习的是Hello 算法。我对我自己的算法水平还是很了解,所以我觉得还是要从开始出发重新学习。这篇专栏就是专门记录学习算法的体会和心得,并记录学习的过程。什么是算法,算法就是在有限的时间内解决问题的一组指令或者是操作。具有以下特性:1.问题是明确的,包含清晰的输入和输出2.具有可行性,能够在有限的步骤,时间,空间下完成3.各个步骤在相同的输入和运行条件下输出始终相同。
2024-08-01 13:05:49
339
原创 A star前置算法优先队列
优先队列是0个元素和多个元素的集合,每一个元素都有一个优先权限,我们可以对这个队列进行的操作有 插入,删除,当我们首先优先队列 一般是由满二叉堆来实现的 而二叉堆逻辑上是一个满二叉树。假设一个二叉树由k层 ,在k-1层之前 每一层的结点的都是2^(k-1-1) 而且第二层的结点都是从最左边网友排列的根据子节点和父节点的关系 又可以分为最大堆,最小堆最大堆:每一个结点的值总是大于或者等于子节点的值,因此最大堆的跟节点就是堆的最大值最小堆。
2024-04-30 11:40:51
424
1
原创 Unity对应的c#版本
微软已经将.net开发到.net 9了,但是unity的迭代速度远没有c#迭代速度快,已知unity最新的LTS版本unity2023已经兼容了c#9。本文主要是记录一下unity已经开始兼容c#的版本和.net版本,以便更好的利用c#的特性。可以在unity手册里面查找我们要找的unity对应的c#版本。
2024-04-26 15:30:27
647
2
原创 安卓打包遇到的问题-Video
Unity 安卓端打包遇见的问题,这是关于Video的使用的是Unity自带的视频播放器,但是打包到手机端出现了很多的问题。
2023-12-05 10:12:01
396
原创 自定义TimeLine实现卡拉OK轨
系列文章目录前言正文UI部分代码部分Data(数据)Clip(片段)Track(轨道)Mixer(混合)被控制物体总结自定义TimeLine实际上就是自定义轨道, 在这里我们实现一个简单的例子。
2023-09-02 17:56:03
637
原创 自定义TimeLine
什么是TimeLine,Data(数据)Clip(片段)Track(轨道)Mixer(混合)在 Unity 中,TimeLine(时间轴)是一种用于创建和管理动画序列的工具。它是 Unity 的一个可视化编辑器窗口,用于创建复杂的、时间驱动的动画、剧情和交互式体验。Timeline 提供了一系列功能和资源,例如轨道(Track)、片段(Clip)、混合器(Mixer),数据(Data)等,用于组织和控制动画序列。
2023-09-01 18:37:57
761
原创 Lua学习(一)
lua 是轻量小巧的编程语言,其设计的目的就是为了嵌入到应用程序里面去。从而为应用程序 提供扩展。使用的是标准的c并以源码的方式对外开放。
2023-08-29 10:43:10
1025
原创 Unity插件---Dotween
DoTween 是由 Demigiant 开发的,被广泛应用于 Unity 游戏开发中。它是一个流行的动画插件,被许多开发者用于创建流畅、高效的动画效果,提升游戏体验。
2023-08-28 11:43:25
3301
原创 Unity学习回忆--3D坦克大战
还记得大一的时候第一次接触编程,为了手写一个hello,world绞尽脑汁。最后以失败告终!大一的暑假开始结束unity。从我第一次了解编程也三年了,学习unity也已经两年了。期间有大大小小的学习经验维度第一次做游戏使我记忆深刻。1,介绍一下你做过的其中一个游戏开发项目。我做过的第一个游戏项目是一个3D坦克大战,由于开始的时候技术有限,连UGUI都掌握的不好,所以连一个像样初始界面都没有。由于当时做游戏全靠自己的兴趣,也没有什么参考完全都是自己摸索的。
2023-04-15 13:31:02
1228
4
原创 Unity如何修改已经安装的Package的版本。
在 packages目录下有一个manifest.json的文件,里面存放的就是package的版本信息。首先打开unity–>assets–>show In Explorer(就是打开项目所在路径)双击打开之后里面存放的就是json文件里面包含的有package的版本信息。修的时候:直接将对应的版本号改为另外一个已存在的版本。注意再修改前先注意是否存在此版本的包。
2023-04-01 19:59:13
1320
原创 unity常见问题(二)
目录1.性能比较2.unscaledDeltaTime和 time.deltaTime的区别3.调用顺序1.性能比较下面两部分代码 根据GC来看第二个性能比较好public class TestGc : MonoBehaviour{ private List<float> random = new List<float>(); //private float[] random = new float[100000];...
2022-04-29 09:22:53
495
原创 unity常见的问题(一)
1.修改物体位置无法直接修改物体的position//transform.position.y = 10f; 错误的写法//修正Vector3 pos = transform.position;transform.position = new Vector3(pos.x,20f,pos.z);2.物体相互碰撞两方必须都要Ccollider 其中一方还要有 Rigidbody3.target.position - transform.position 得到的...
2022-04-22 16:22:28
2481
原创 如何实现点击一下物体播放一次动画
目录场景准备代码编写实际作用:依靠鼠标的点击物体,并播放对应的动画(按照一定的顺序)假设A->B->C 动画播放的顺序我们就要按照这个顺序播放场景准备①在场景中创建如下三个物体并给他们分别加上对应的Tag②由于我的目的是让每一个物体只播放一段动画,所以我选用的是animation注意 unity 中ctrl+6 create的动画默认的是animator的动画,我们可以提前在物体上添加animation组件,或者是将animator动画更改为animat
2022-04-20 21:46:23
7079
原创 地宫取宝 java
今天蓝桥杯考试 ,我什么都不会,感觉以前做的算法太少了所以今天出写一下算法相关的东西。标题:地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝...
2022-04-10 11:23:59
97
原创 unity持久化存储密码PlayerPerfs
代码using System.Collections;using System.Collections.Generic;using UnityEngine;using System;using System.Linq;using Newtonsoft.Json;using UnityEditor;public class DataBase : MonoBehaviour{ private static DataBase instance; public stati.
2022-04-02 20:27:14
4710
2
原创 unity 3D物体接受鼠标事件的两种实现方法
目录一、实现接口二、内部方法一、实现接口使用该方法需要先完成一些准备工作。① 在脚本中引用命名空间: using UnityEngine.EventSystems;②在Main Camera 上加上Physics Raycaster组件③添加EventSystem④被点击的物体必须腰带有collider⑤在脚本中实现接口IPointerExitHandler,IPointerClickHandler等using System.Collections;usi
2022-03-25 22:17:24
7813
原创 Unity虚拟摇杆(事件分发器实现)
目录搭建UI编写代码搭建UI①创建一个image 命名为ControlArea 作为按钮识别的检测范围 并将透明度设置为1(透明度为0不触发事件检测)②如下图的父子关系添加 image 并命名 找到合适的素材拖给相应的image 设置合适的大小(根据自己的喜好和素材的大小自行设置)③注意选中joystick 的 锚点(花)放到左下角 防止因为分辨率改变使得按钮位置改变 中心点(pivot)的位置设置为(0.5,0.5)如下图实现脚本...
2022-03-12 16:15:00
3891
原创 随即生成房间二
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;public class creatRoom : MonoBehaviour{ public enum Direction {up,down,left,right}; public Direction direction; [Header("房间...
2022-03-06 08:31:38
4089
原创 如何实现2D人物换枪
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Move: MonoBehaviour{ public GameObject [] gun;//储存所有枪 new private Rigidbody2D rigidbody; private Vector2 input;//人物移动 private Vector2 mousePso;...
2022-02-13 17:10:09
468
原创 UGUI(二)
目录ToggleInput FieldSliderToggleinteractable:是否可以让玩家进行选择Is On :单选框是否选中的状态Graphic:选中时显示的图标Group:多个单选框指定同一个Group,就改造成复选框了,一次只能选中一个On value changed:监听单选框是否按下,可以用面板监听,也可以用代码监听using System.Collections;using System.Collections.Generic;..
2022-01-30 14:43:06
366
原创 随机生成房间(一)
sing System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;public class RoomGenerator : MonoBehaviour{ public enum Direction { up, down, left, right };//用于控制房间生成方向的枚举类型 public Direction direction;.
2022-01-23 15:37:42
542
原创 UGUI基础学习
目录TEXTIMAGETEXTfontsize:字体color:字体颜色;inespacing:字行间隔代码展示:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class TEXTtest : MonoBehaviour{ private Text text; vo...
2022-01-16 11:16:51
2161
1
原创 2D人物移动代码
private GameObject rigid;private Vector2 input;private Vector2 mousePos; //鼠标的位置public float Speed;//人物的移动速度一般设为 public 可以随时调节Private Animator Ani; //获取动画让人物的移动逼真void Start(){//在开始的时候获取这些组件animantor = GetComponent<Animator>();rigidbody = G.
2021-12-05 08:49:52
1204
原创 如何做一个过场动画(场景加载)
为什么要做过场动画 过场动画是在CG技术的支持下,制作 游戏 内的场景人物或剧情相关的 动画 或图片,一般在游戏宣传以及游戏过程中衔接剧情时使用,对于游戏的细致描述和剧情起到升华的作用unity中的场景加载就是用过场动画来实现的。当一个场景过于庞大的时候,加载场景可能需要很多时间,这时候我们就需要做一个过场动画增强游戏的衔接。第一步...
2021-11-26 15:45:06
3345
原创 Shder基础学习(四)
今天介绍的是shader中CG语言中的数据类型CG常见的数据类型Float/half/fixed(三个都是浮点数,但是精度不一样)Integer(整形)Sampler2D(2D纹理)SamplerCUBE(3D纹理)Float高精度类型,32位,通常用于世界坐标下的位置,纹理UV,或涉及复杂函数的标量计算,如三角函数、幂运算等。Half中精度类型,16位,数值范围为[-60000,+60000],通常用于本地坐标下的位置、方向向量、HDR颜色等。Fixed
2021-11-17 11:37:10
3320
原创 Java算法
//打家劫舍,经典的动态分析一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组 nums,请计算不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。public class Text12 { public static void main(String[] args) { int[] ...
2021-11-07 10:49:58
185
原创 Shader基础学习(三)
目录更改unity物体的颜色shaderPass最终效果更改unity物体的颜色shader前面我们也基本上了解了一些shader了,这次我们就来简单的实现一些效果吧。在真正写代码之前还需要在了解一些其他的知识Pass在一个Shader中,可以有多个SubShader以及一个SubShader中也可以有多个Pass,但是一个Shader中必须要至少有一个SubShader,并且这个SubShader中也必须至少有一个Pass。Pass 的意思其实就是渲染一次模型
2021-11-02 18:00:14
1845
1
原创 Shader基础学习(二)
6.方法介绍Properties:语法格式: [Attribute_Name] (“Display name ”Type) = default Vaule]Attribute 关键字:对当前的属性进行特殊处理_Name 变量名称 也叫属性名称 在Shader 的CG代码中通过这个名称来调用从属性内容的,在内部利用脚本调用时也是这个名称,所以一定要用英文而且一定要加下划线,不然报错。Display Name:显示在属性面板上的名称,主要起到说明解释的之作用。(要和属性的意
2021-11-01 17:51:01
586
原创 Shader基础学习(一)
目录1.什么是Shader2.Unity Shader使用的什么语言3.Shader的创建4.材质与Shader的关系5.Shader框架1.什么是ShaderShader其实就是一段代码,这段代码的作用是告诉GPU具体怎样去绘制模型的每一个顶点的颜色以及最终每一个像素点的颜色。 Unity Shader则更加简单我们只需要在一实现的效果是什么样子的其他的一切都可以交给unity处理。2.Unity Shader使用的什么语言由于unity是一个跨平台的游戏...
2021-10-30 11:40:34
4708
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人