自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity状态机行为脚本

状态机行为脚本时一类特殊的脚本,继承指定的基类,它主要用于关联到状态机中的状态矩形上。我们可以按照一定规则编写脚本当进入、退出、保持在某一个特定状态时我们可以进行一些逻辑处理比如1.进入或退出某一状态时播放声音2.仅在某些状态下检测一些逻辑,比如是否接触地面等等3.激活和控制某些状态相关的特效。

2023-02-08 21:54:19 516 1

原创 Unity之子状态机

子状态机顾名思义就是在状态机里还有一个状态机它的主要作用就是某一个状态是由多个动作状态组合而成的复杂状态。

2023-02-08 21:41:41 420

原创 Unity之Animator组件

对应的动画控制器:对应的替身配置信息:是否启用动画位移更新:更新模式Normal:正常更新Animate Physics:物理更新Unscaled Time:不受时间缩放影响:裁剪剔除模式Always Animate:始终播放动画,即使在屏幕外也不剔除Cull Update Transforms:摄像机没有渲染该物体时,停止位置、IK的写入Cull Completely:摄像机没有渲染物体时,整个动画被完全禁用。

2023-02-08 21:12:08 616

原创 Unity之有限状态机

有限状态机(Finite - state machine, FSM),又称有限状态自动机,简称状态机。是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

2023-02-08 21:11:48 2977

原创 Unity之Animation窗口

Animation窗口,直译就是动画窗口。它主要用于在Unity内部创建和修改动画,所有在场景中的对象都可以通过Animation窗口为其制作动画。

2023-02-08 19:36:58 2357

原创 Unity——Spine动画的使用

Spine是一个收费的跨平台的2D骨骼动画制作工具。官方地址:http://zh.esotericsoftware.com/

2023-02-07 21:44:57 12217

原创 Uinty之动画目标匹配

比如我们需要角色播放跳跃动画后双手要抓住高处平台边缘,就需要使用动画匹配达到相关效果。

2023-02-07 02:08:22 290

原创 Unity之IK(反向动力学)

Inverse Kinematic即反向动力学,在骨骼动画中构建骨骼的方法被称为正向动力学。通常来说是父骨骼带动子骨骼旋转或移动,而反向动力学则是子骨骼带动父骨骼旋转或移动。Unity已经定义了一个Ik回调函数——OnAnimatorIK,我们可以通过调用相关API来控制IK。举个例子来说,正向动力学下,我们用手控制鼠标移动,反向动力学下则是鼠标控制我们的手移动。首先需要在状态机中开启IK设置。

2023-02-07 01:56:24 1311

原创 Unity动画之1D混合和2D混合

慢跑是2.3个单位每秒,快跑是4个单位每秒,阈值就会根据这些值来进行设置进行混合。对应动作的临界阈值 当等于这个值时动作权重最大(完全播放该动作)比如你的动画剪辑行走动画时Speed速度是1.5个单位每秒。参数,用于控制混合的参数,在参数列表中的参数。是否自动设置阈值,它会在取值范围内平均分。这个值可以完全自由控制,数值范围不定。关联的动画列表,可以用鼠标改变顺序。一般可以取消勾选我们手动控制更准确。可以在这里拖拽控制n个动画的阈值。会从动画剪辑的根运动中获去数据。:角度或者弧度表示的角速度。

2023-02-07 01:37:10 603

原创 Unity动画分层和遮罩

当动画同时播放时,如果选择的是叠加状态,会根据权重决定叠加的比例。

2023-02-04 23:11:22 789

原创 Unity之Animation Clip的使用

分配给此状态的动画剪辑。

2023-02-04 23:05:00 2174

原创 Unity模型页签——Animation

启用后,Unity会自动添加相应的约束组件将其关联到正确的游戏对象。

2023-02-04 22:20:44 687

原创 Unity模型页签之Material

将导入的材质保持在导入的资源中:将导入的材质提取为外部资源。旧版材质处理方式,适用于2017.1或更早的Unity版本创建的项目:当选择Use Embedded Materials后会出现的内容。这两个按钮可以提取导入的资源中嵌入的所有材质和纹理。如果没有需要提取的子资源,这两个按钮会显示为灰色:使用导入材质的漫反射纹理名称来命名材质。如果未将漫反射纹理分配给材质,Unity将使用导入材质的名称:使用导入材质的名称来命名材质:使用模型文件的名称与导入材质的名称相结合来命名材质。

2023-02-04 18:44:09 885

原创 Unity模型页签之Rig

No Avatar:没有化身系统信息:根据此模型创建Avatar化身信息:指向另一个模型上设置的Avatar化身信息Source:复制另一个具有相同骨架的Avatar化身信息以导入其动画剪辑使用Copy From Other Avatar时才有Configure…:打开Avatar化身配置使用Create From This Model时才有:设置影响单个顶点的最大骨骼数量。

2023-02-04 11:00:11 639

原创 Unity模型页签的相关设置之Model

当模型中的比例不符合项目中的预期比例时可以修改此值来改变该模型的全局比例Unity的物理系统希望游戏世界中的1米在导入模型文件中为1个单位。

2023-02-04 10:44:04 826

原创 论Unity_InputSystem如何使用(三)

InputSystem提供专门用来处理玩家输入的组件,通过关联配置输入文件,可以不需要编写设备输入的相关逻辑,专注于编写输入触发后的逻辑。

2023-02-01 21:44:44 718

原创 论Unity_InputSystem如何使用(二)

然后我们需要在Inspector窗口中进行编辑,分别为Move绑定键盘上的WASD键,Jump绑定Space,Attack绑定鼠标左键。我们已经编写了三个InputAction变量,分别是控制上下左右的Move,控制跳跃的Jump,控制攻击的Attack。给这个3d物体添加Rigid body,再创建一个Sphere作为子弹,为其编写脚本。请使用InputSystem为一个3D对象制作通过键盘移动跳跃,鼠标攻击的脚本。

2023-02-01 16:10:18 271

原创 补充:论Unity_InputSystemPacakage如何使用

补充一下默认特殊值如何设定,点击ProjectingSettings——InputSystemPacakage——Create Settings Asset 即可设置默认特殊值,或者点击图1中的Open input settings也可以打开此界面。创建后会在Project窗口出现一个配置文件,不需要时删除即可。

2023-02-01 12:46:26 372

原创 论Unity_InputSystem如何使用(一)

对Unity InputSystem的简单介绍,如有错误,欢迎指正。

2023-02-01 00:12:20 1982

原创 在窗口中创建一个文本框:text。text的事件监视器由PoliceStation类负责创建。当用户在text中输入字符串回车后,监视器负责在命令输出该字符以及它的长度

package app;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class JtextField { public static void main(String[] args){ new MyWindow(); }}class MyWindow extends JFrame{ JTextField text; PoliceStation poli

2021-06-16 10:26:44 507

原创 JLayeredPane分层窗格

package app;import java.awt.*;import javax.swing.*;public class JPanel { public static void main(String[] args){ new WindowLayered(); }}class WindowLayered extends JFrame{ WindowLayered(){ //设置窗口位置 setBounds(100,100,30

2021-06-15 10:47:15 569

原创 java布局设计FlowLayout、BorderLayout、CardLayout、GridLayout、BoxLayout及null布局

public static class WindowFlow extends JFrame{ JButton b[]; public WindowFlow(String s){ //设置窗口标题 setTitle(s); b = new JButton[20]; //创建一个居中对齐的布局对象 FlowLayout flow =new FlowLay...

2021-06-15 09:53:49 1691 1

原创 6. 定义一个类TestCollectionsShuffle,要求如下 (1)查阅api文档(https://www.matools.com/api/java8 )和互联网资料,利用Collectio

定义一个类TestCollectionsShuffle,要求如下(1)查阅api文档(https://www.matools.com/api/java8 )和互联网资料,利用Collections的shuffle()对list进行洗牌(洗牌算法,即传入一个有序的List,可以随机打乱List内部元素的顺序,效果相当于让计算机洗牌);(2)定义一个ArrayList,循环添加1到20自然数;(3)打印输出此list;(4)使用Collections的shuffle()对list进行洗牌,打印输出洗牌.

2021-06-07 12:05:36 563 2

原创 java图形用户界面设计学习——JFrame及菜单组件

package app;import javax.swing.*;import java.awt.event.InputEvent;import java.awt.event.KeyEvent;public class Main { public static void main(String[] args){ FirstWindow firstwindow = new FirstWindow("213"); //window window = new wi

2021-06-06 11:18:00 1391

原创 5. 定义一个类TestCollectionsSort,要求如下 (1)查阅api文档(https://www.matools.com/api/java8 )和互联网资料,利用Collections的

定义一个类TestCollectionsSort,要求如下(1)查阅api文档(https://www.matools.com/api/java8 )和互联网资料,利用Collections的sort()方法对list[“China”,”Usa”,”India”,”Japan”]进行字典排序,然后输出排序前和排序后的结果(2)定义一个ArrayList,添加[“China”,”Usa”,”india”,”Japan”]元素;(3)利用Collections的sort()方法对list[“China”.

2021-05-21 19:52:23 789

原创 4.定义一个类TestMap要求如下 (1)利用Map接口和泛型新建一个字典HashMap对象map,然后插入如下键值对 1 China 2 India 3 USA (2)打印输出key为1的值; (

4.定义一个类TestMap要求如下(1)利用Map接口和泛型新建一个字典HashMap对象map,然后插入如下键值对1 China2 India3 USA(2)打印输出key为1的值;(3)查阅api文档和互联网资料,分别用3种不同的方法对此map对象进行遍历打印输出;package cn.edu.ahtcm.bean;import java.util.*;public class TestMap { public static void main(String[] args)

2021-05-21 19:51:53 1473

原创 3.定义一个类TestTreeSet,要求如下: (1)定义TreeSet对象treeSet,左边用接口Set右边用TreeSet; (2)依次添加“apple”,“pear”,“bannana”,“

3.定义一个类TestTreeSet,要求如下:(1)定义TreeSet对象treeSet,左边用接口Set右边用TreeSet;(2)依次添加“apple”,“pear”,“bannana”,“orange”;(3)打印输出treeSet;观察输出的字符串输出顺序(注释说明为什么是有序的?按照什么顺序排列的?)package cn.edu.ahtcm.bean;import java.util.*;public class TestTreeSet { public static v

2021-05-21 19:51:14 524

原创 2.定义一个类TestSet要求如下 (1)利用Set接口和泛型新建一个HashSet对象set,要求为String类型 (2)set依次添加“黄山“、“大蜀山“、“泰山“、“大蜀山“、“黄山“; (

2.定义一个类TestSet要求如下(1)利用Set接口和泛型新建一个HashSet对象set,要求为String类型(2)set依次添加"黄山"、“大蜀山”、“泰山”、“大蜀山”、“黄山”;(3)打印输出set查看结果;(4)用Iterator遍历setpackage cn.edu.ahtcm.bean;import java.util.*;public class TestSet { public static void main(String[] args){ H

2021-05-21 19:50:23 718

原创 1.定义一个TestList类要求如下 (1)利用List接口和泛型新建一个ArrayList对象list,要求为String类型; (2)list添加“China”,“Usa”,“India”,“J

1.定义一个TestList类要求如下(1)利用List接口和泛型新建一个ArrayList对象list,要求为String类型;(2)list添加“China”,“Usa”,“India”,“Japan”四个字符串;(3)打印输出list(4)用3种方式遍历list元素(5)删除索引为2的元素,然后打印输出list;package cn.edu.ahtcm.bean;import java.util.*;public class Testlist { public static

2021-05-21 19:49:49 1252

原创 7(选做).定义一个类TestArrayBoundException,要求如下 (1)定义字符串数组s,里面存放{“Apple”,”pear”,”banana”}; (2)循环打印输出每个元素,对于下

7(选做).定义一个类TestArrayBoundException,要求如下(1)定义字符串数组s,里面存放{“Apple”,”pear”,”banana”};(2)循环打印输出每个元素,对于下标越界进行异常捕获;(3)最后不管是否有错误都打印输出“打印完毕”。package cn.edu.ahtcm.bean;public class TestArrayBoundException { public static void main(String[] args) {

2021-05-17 21:18:56 342

原创 6(选做).定义一个类TestDivisionException,要求如下 (1)定义静态方法divisionNum,接收输入的两个整数数,返回整除结果,使用throws抛出ArithmeticExc

6(选做).定义一个类TestDivisionException,要求如下(1)定义静态方法divisionNum,接收输入的两个整数数,返回整除结果,使用throws抛出ArithmeticException异常;(2)main方法里接收键盘输入两个整数a,b;调用divisionNum方法,结果存入变量c,(3)如果除数为0,对异常进行捕获;(4)打印输出错误信息和错误堆栈信息;(5)最后不管是否有错误都打印输出c的结果,并打印“计算完毕”。package cn.edu.ahtcm.bean

2021-05-17 21:18:21 457

原创 4.定义一个抽象类AbsAnimal,要求如下 (1)包括属性name,weight,color; (2)定义其有参构造方法; (3)定义受保护的run方法,功能是打印输出“Animal run fa

4.定义一个抽象类AbsAnimal,要求如下(1)包括属性name,weight,color;(2)定义其有参构造方法;(3)定义受保护的run方法,功能是打印输出"Animal run fastly";(4)在main方法里实例化抽象对象aAbsAnimal a = new AbsAnimal(….) ,想一想为什么会报错?如果报错注释掉该语句。package cn.edu.ahtcm.bean;public abstract class AbsAnimal { String n

2021-05-17 21:17:36 2248 1

原创 1.定义一个昆虫类Insect,要求如下 (1)包括属性name,size,color (2)定义其有参构造方法; (3)生成成员变量的get和set方法; (4)定义run方法 void run(I

新建java工程test,以下所有类包名为cn.edu.ahtcm.bean1.定义一个昆虫类Insect,要求如下(1)包括属性name,size,color(2)定义其有参构造方法;(3)生成成员变量的get和set方法;(4)定义run方法 void run(Insect a)打印输入谁在跑,接收参数为Insect类型;(5)在main函数测试该类new一个实例对象i,调用run方法,然后打印输出i的name,size,colorpackage cn.edu.ahtcm.bean;im

2021-05-17 21:15:42 2566 15

原创 1. 定义一个Animal类(包名cn.edu.ahtcm.model)要求如下2.定义一个Dog类(包名cn.edu.ahtcm.model)要求如下

定义一个Animal类(包名cn.edu.ahtcm.model)要求如下(1)定义成员变量:名称name,体重weight,颜色color,成员变量定义为私有的,同时生成相应的get和set方法;(2)包括void动态方法run()(输出“Animal run fastly”);void eat()(输出“Animal eat something”),以及受保护的叫方法shout()(输出“Animal shout”)(3)定义重载方法run(String name),输出谁跑得快(4)包括有参.

2021-05-11 23:01:24 8545

原创 对整数的个位四舍五入

输入描述:输入一个整数n输出描述:输出一个整数示例输入99输出100先使其加5,若其个位大于等于5则进一。再除于10,由于其是整数,整数自动去除小数。再乘10即可得到答案。#include<stdio.h>int main(void) { int n; scanf("%d", &n); n = (n + 5 ) / 10; printf("%d", 10 * n); return 0;}...

2020-09-24 17:14:53 1384

原创 输入一行字符,将其中的每个字符从小到大排列后输出

#include<stdio.h>#include<string.h>void nixu(char* num);int main(void){ char num[100]; printf("请输入字符串:"); gets_s(num); nixu(num); return 0;}void nixu(char* num){ int i, j, k, t; i = strlen(num); for (j = 0; j < i - 1; j++)/

2020-08-24 21:25:00 3688

原创 编写一个函数,求字符串的长度,在main函数中输入字符串,并输出其长度

#include<stdio.h>#include<string.h>void nixu(char* num);int main(void){ char num[100]; printf("请输入字符串:"); gets_s(num); nixu(num); return 0;}void nixu(char* num){ int i; i = strlen(num); printf("长度为%d", i);}...

2020-08-24 20:36:37 3165

原创 编写程序,输入一个字符串,逆序输出。

#include<stdio.h>#include<string.h>void nixu(int n, char* num);int main(void){ int n = -1; char num[100]; gets_s(num); nixu(n, num); return 0;}void nixu(int n, char* num){ int i; i = strlen(num); if (n < i-1) { n++; ni

2020-08-24 20:33:14 2972

原创 编写函数,实现在一个字符串中第5位插入字符’m’

#include<stdio.h>#include<string.h>void charu(int i, int j, char* c );int main(void){ char s[100] = "I love program."; int j = 5; int i; i = strlen(s);//测出字符串中的字符数量的函数 charu(i, j, s); return 0;}void charu(int i, int j, char* s){

2020-08-23 20:24:03 1233

原创 用递归实现:编写打印图形 * * * * * * * * * * * * * * * * * * * * * * * *

#include<stdio.h>void tuxing(int i);int main(){ tuxing(5); return 0;}void tuxing(int i){ int j, k; if (i > 0) { i--; tuxing(i); for (j = 4; j > i; j--) printf(" "); for (k = 0; k < 2 * i + 1; k++) printf("*"

2020-08-22 22:19:07 1185

空空如也

空空如也

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

TA关注的人

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