文本居中引用<!-- HTML方式: 直接在 Markdown 文件中编写 HTML 来调用 --><!-- 其中 class="blockquote-center" 是必须的 --><blockquote class="blockquote-center">blah blah blah</blockquote><!-- 标签 方式,要求版本在0.4.5或以上 -->{% centerquote %}blah blah blah{% endcenterquote %}<!-- 标签别名 -->{% cq %} blah blah blah {% endcq %}
效果实例:
突破容器宽度限制的图片<!-- HTML方式: 直接在 Markdown 文件中编写 HTML 来调用 --><!-- 其中 class="full-image" 是必须的 --> ...
开始换装之前,首先需要了解一些概念.
参考部分以下内容转载自博客:
https://sunra.top/2021/11/07/uniyt-change-suit/
骨骼,蒙皮和动画目前游戏开发中常用的两种动画:顶点动画和蒙皮动画
顶点动画
通过在动画帧中直接修改mesh顶点的位置来实现,通常在mesh顶点数目较少,动画简单的情况下使用,如草的摆动,树的摆动,水的波动等
蒙皮动画
通过在动画中直接修改bone的位置,让mesh的顶点随着bone的变化而变化,通常用于人形动画,如人物的跑动,跳跃等
骨骼是什么当我们倒入带有骨骼的Model时,我们可以在其中发现一个嵌套的GameObject,这个GamoeObject以及它的所有的子GameObject都只有一个属性,就是transforms的坐标信息,这些坐标信息组成了该模型的骨骼信息。
蒙皮是什么我们知道Mesh是由顶点和面组成的,如果不绑定蒙皮数据,称之为静态mesh,不具有动画效果的,如游戏中的房子,地面,桥,道路等;
对于绑定蒙皮的mesh,我们称之为SkinMesh,在SkinMesh中每个mesh的顶点会受到若 ...
unity
未读
目前的UI Toolkit比较适合做画面覆盖ui
暂时的缺陷如下:
教程来自b站:
阿严_独立游戏开发
本篇是笔记.
创建UIBuilder第一种,直接在window中创建
第二种资产文件夹下创建UI document
打开后就是一样的画面,并且带着根节点
按住ctrl+alt+左键可以移动窗口(可能鼠标中键也行,但是今天我忘了带鼠标)
画布设置
不过我们不使用这个功能,手动设定窗口宽高1920*1080.
制作画面画布已经创建好,现在开始做画面吧!效果图:
这方面就不细说了,类似安卓的前端页面,也类似web前端的操作方式,值得一提的是这里也有xml代码
创建uss(类似css)
红色框内去掉.,添加Label,选中Label即可对所有文本的样式进行编辑.
在游戏内显示场景内右键创建UIdocument,就会出现一个搭载ui Document脚本的对象
此处可以选展示的页面
空格显示/隐藏画面新建脚本PartyDataScreen.cs附加到该对象上.
getcomponent获取uidocument,然后获取rootVisualElemen ...
说明unity创建脚本时初始化的内容可以通过修改模板来diy。
下面是修改步骤:
查找模板文件位置在此获取引擎版本位置,
以我为例,到此目录下\2021.3.4f1c1\Editor\Data\Resources\ScriptTemplates
打开81-C# Script-NewBehaviourScript.cs.txt,可以看到里面的内容就是我们创建脚本时生成的.
详细规则
参考阿严的模板创建
上文提到的操作都是基于现版本的编辑器进行的.
要将模板跟随项目一起的话,可以将四个文件复制到项目里Accest下新建的ScriptTemplates文件夹里.
也可以选中ScriptTemplates文件夹,导出成unityPackage.
二分查找算法只能对有序排列数据进行高效查找。
方法定义下标:头l,尾r,中位数mid。
中位数对应元素与参数对比大小,若参数小于mid,则在左侧,将mid-1赋值给r,重定位r下标。
依次执行最终找到数据。
代码实现二分查找namespace AlgorithmTest13_二分查找{ class TestSearch { public static int BinarySearch(int[] arr, int target) { int l = 0; int r = arr.Length - 1; //int mit = (r + 1 )/ 2;中位数 int mit = l + (r - l) / 2;//中位数 while (l <= r) { //如果输入值小于中位数 if (target < ...
集合
集合(set)作为存储数据容器时:
它不允许存储相同元素,只能保留一份。
能快速帮助我们进行去重操作,过滤掉重复元素。
典型应用
词汇量统计
统计一篇英文文章的总单词数,使用集合进行去重,判断英文文章难度。
创建集合接口新建Iset接口
namespace AlgorithmTest11_集合ISet{ interface Iset<T> { /// <summary> /// 判空 /// </summary> bool IsEmpty { get; } /// <summary> /// 元素个数 /// </summary> int Count { get; } /// <summary> /// 添加 /// </summary> /// < ...
软件官网https://wolicheng.com/womic/
点download下载,分别下载app和pc客户端
我是iphone所以直接appstore搜索WO Mic,下载完后直接点start
app会提供ip地址
pc客户端下载后打开连接,输入对应ip地址即可连上。
还可以使用蓝牙、usb等连接方式,移动端调音量好像需要会员,不过目前勉强够用。
队列(Queue)数组实现队列队列相关操作
void Enqueue(T t);//入队
T Dequeue();//出队
T Peek();//查看队首元素
int Count { get; }//查看元素个数
bool IsEmpty { get; }//查看队列是否为空
创建接口创建接口IQueue
namespace AlgorithmTest10_队列Queue{ interface IQueue<T> { void Enqueue(T t);//入队 T Dequeue();//出队 T Peek();//查看队首元素 int Count { get; }//查看元素个数 bool IsEmpty { get; }//查看队列是否为空 }}
实现接口功能新建**Array1Queue类,实现I ...
数组栈、链表栈以及c#系统提供的Stack性能比对代码如下using System;using System.Collections.Generic;using System.Diagnostics;namespace AlgorithmTest09_实现栈Stack{ class Program { public static long TextStack(IStack<int> stack, int N) { Stopwatch t = new Stopwatch(); t.Start(); for (int i = 0; i < N; i++) { stack.Push(i); } for (int i = 0; i < N; i++) { sta ...