Unity核心

回顾

Unity核心学习的主要内容

项目展示

基础知识

认识模型制作流程

2D相关

图片导入设置相关

图片导入概述

参数设置——纹理类型

参数设置——纹理形状

参数设置——高级设置

参数设置——平铺拉伸

参数设置——平台设置(非常重要)

Sprite

Sprite Editor —— Single图片编辑

Sprite Editor —— Multiple图集元素分割

Sprite Editor —— 多边形编辑

用的较少,了解即可

Sprite Renderer

练习:

Sprite Creator

练习:

SpriteMask

练习:

Sorting Group

图集制作

练习

2D物理系统

刚体

碰撞器

练习:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerObject : MonoBehaviour
{public float moveSpeed = 5;private float h;private SpriteRenderer sr;private Rigidbody2D rigidbody2D;// Start is called before the first frame updatevoid Start(){sr = this.GetComponent<SpriteRenderer>();rigidbody2D = this.GetComponent<Rigidbody2D>();}// Update is called once per framevoid Update(){h = Input.GetAxis("Horizontal");//this.transform.Translate(Vector2.right * moveSpeed * Time.deltaTime * h);//由于 重力 会给予对象 y方向的值 所以我们左右移动 应该只是改变左右速度 y的速度应该保留原有的值//rigidbody2D.velocity = Vector2.right * h * moveSpeed;rigidbody2D.velocity = new Vector2(h * moveSpeed, rigidbody2D.velocity.y);if (h < 0)sr.flipX = true;else if (h > 0)sr.flipX = false;if (Input.GetKeyDown(KeyCode.Space)){//创建子弹预设体GameObject obj = Instantiate(Resources.Load<GameObject>("BulletObj"), this.transform.position + new Vector3(sr.flipX ? -0.3f : 0.3f, 0.5f, 0), Quaternion.identity);//告诉子弹朝哪个方向动obj.GetComponent<BulletMove>().ChangeMoveDir(sr.flipX ? Vector3.left : Vector3.right);}if (Input.GetKeyDown(KeyCode.J)){//给它一个向上的瞬时力rigidbody2D.AddForce(Vector2.up * 300);}}
}

物理材质

恒定力

效应器

练习

SpriteShape

Sprite Shape Profile 精灵形状概述文件

Sprite ShapeRenderer 和 Sprite Shape Controller

精灵形状渲染器和控制器

练习:

TileMap——瓦片地图

瓦片资源

瓦片调色器窗口使用

(本节知识点较多,复习时可以配合视频进行)

重点

1.需要修改工程的自定义轴排序 以Y轴决定渲染顺序

x = 0 ; y = 1; z = -0.26;

2.如果地图存在前后关系需要修改TileRenderer的渲染模式

瓦片地图关键脚本和碰撞器

练习:

运用了平台效应器

官方拓展包导入

下载地址:
 https://github.com/Unity-Technologies/2d-extras

官方拓展包——新增瓦片类型

官方拓展包——新增笔刷类型

代码控制相关

动画基础

Animation动画窗口

认识Animation动画窗口

创建编辑动画

代码控制动画(老动画系统)

练习:

Animator动画状态机

有限状态机概念

Animator Controller —— 动画控制器(状态机)

代码控制动画状态机切换

练习:

2D动画

序列帧动画

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Lesson35 : MonoBehaviour
{public Sprite[] sprs;private SpriteRenderer spriteR;private float time = 0;private int nowIndex = 0;public Animator animator;// Start is called before the first frame updatevoid Start(){#region 知识点一 什么是序列帧动画//我们最常见的序列帧动画就是我们看的 日本动画片//以固定时间间隔 按序列切换图片 就是 序列帧动画的本质//当固定时间间隔足够短时 我们肉眼就会认为图片是连续动态的 进而形成动画(会动的画面)//它的本质和游戏的帧率概念有点类似//原理就是在一个循环中按一定时间间隔不停的切换显示的图片#endregion#region 知识点二 代码制作序列帧动画//我们先尝试用原理 通过代码来实现序列帧动画spriteR = this.GetComponent<SpriteRenderer>();spriteR.sprite = sprs[nowIndex];#endregion#region 知识点三 Animation窗口制作序列帧动画//方法一://1.创建一个空物体//2.创建一个动画//3.直接将某一个动作的序列帧拖入窗口中//方法二://直接将图片拖入Hierarchy 层级窗口中//注意:需要修改动画帧率 来控制动画的播放速度#endregion#region 知识点四 利用Animator 进行动画控制#endregion}// Update is called once per framevoid Update(){//每一次增加帧间隔时间time += Time.deltaTime;//当帧间隔时间达到某一个条件时 就切换图片if (time >= 0.03){//索引增加 切换图片++nowIndex;//判断是否 重头显示if (nowIndex >= sprs.Length)nowIndex = 0;spriteR.sprite = sprs[nowIndex];time = 0;}//知识点四if (Input.GetKeyDown(KeyCode.Space)){animator.SetBool("IsDown", true);}else if(Input.GetKeyUp(KeyCode.Space)){animator.SetBool("IsDown", false);}}
}

练习

2D骨骼动画

2D Animation

2D Animation_骨骼动画制作基础——单张图片编辑

练习

2D Animation_骨骼动画制作基础——图集编辑

练习

2D Animation_骨骼动画制作基础——PSB图集编辑

2D Animation_反向动力学IK

练习

2D Animation_换装_换装资源在同一个文件中

2D Animation_换装——换装资源在不同文件中

Spine

Spine_Spine运行库导入

官方地址:http://http:zh.esotericsoftware.com/

Spine_Spine骨骼动画使用

Spine_Spine骨骼动画参数相关

Spine_Spinr骨骼动画代码控制_Spine骨骼动画代码控制相关

模型导入相关设置

模型导入概述

Model页签

Rig操纵(骨骼)页签)

Animation——动画页签

动画页签概述

基础信息设置

动画剪辑属性基本设置

动画剪辑属性其它设置

预览窗口

Materials——材质纹理页签

3D动画相关

3D动画的使用

练习

后退直接有的是向前走的动画,只要倒着播放就可以

​​​​

添加事件

动画分层和遮罩

练习

动画1D混合

练习:

动画2D混合

练习

动画子状态机

练习:

动画IK控制

练习

先加一个头部的位置获取点

主要知识点是——四元数相关的

通过头部位置点计算出一个获取位置的虚拟点,通过它来控制转向

动作目标匹配

StateMachineBehaviour——状态机行为脚本

状态机复用

角色控制器

导航寻路系统

导航寻路系统概述

导航网格生成

导航网格寻路组件

导航网格外连接组件

导航网格动态障碍组件

通过鼠标右键点击让障碍物失活

总结

做实践项目之前需要先把:UGUI和数据持久化Json学习完。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/356556.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解两道四年级奥数题(等差数列)玩玩

1、1&#xff5e;200这200个连续自然数的全部数字之和是________。 2、2&#xff0c;4&#xff0c;6&#xff0c;……&#xff0c;2008这些偶数的所有各位数字之和是________。 这两道题算易错吧&#xff0c;这里求数字之和&#xff0c;比如124这个数的全部数字之和是1247。 …

ffmpeg音视频开发从入门到精通——ffmpeg 视频数据抽取

文章目录 FFmpeg视频处理工具使用总结环境配置主函数与参数处理打开输入文件获取流信息分配输出文件上下文猜测输出文件格式创建视频流并设置参数打开输出文件并写入头信息读取、转换并写入帧数据写入尾信息并释放资源运行程序注意事项源代码 FFmpeg视频处理工具使用总结 环境…

网络安全:Web 安全 面试题.(SQL注入)

网络安全&#xff1a;Web 安全 面试题.&#xff08;SQL注入&#xff09; 网络安全面试是指在招聘过程中,面试官会针对应聘者的网络安全相关知识和技能进行评估和考察。这种面试通常包括以下几个方面&#xff1a; &#xff08;1&#xff09;基础知识:包括网络基础知识、操作系…

Vue69-路由基本使用

一、需求 二、开发步骤 2-1、路由的安装 vue-router3才能在vue2中使用&#xff01;现在默认是vue-router4版本&#xff0c;要在vue3中使用&#xff01;所以&#xff0c;安装的时候要指定版本。 2-2、在main.js中引入和使用路由 2-3、创建router文件夹 一般在vue中用了vue-ro…

外包IT运维解决方案

随着企业信息化进程的不断深入&#xff0c;IT系统的复杂性和重要性日益增加。高效的IT运维服务对于保证业务连续性、提升企业竞争力至关重要。外包IT运维解决方案通过专业的服务和技术支持&#xff0c;帮助企业降低运维成本、提高运维效率和服务质量。 本文结合《外包IT运维解…

会自动清除的文件——tempfile

原文链接&#xff1a;http://www.juzicode.com/python-tutorial-tempfile/ 在某些不需要持久保存文件的场景下&#xff0c;可以用tempfile模块生成临时文件或者文件夹&#xff0c;这些临时文件或者文件夹在使用完之后就会自动删除。 NamedTemporaryFile用来创建临时文件&…

计算机组成原理 | 数据的表示、运算和校验(3)数据处理与存储

移位 舍入和扩展 存储模式和对齐 不按边界对齐&#xff0c;访存次数会增加一次

计算机组成原理笔记-第3章 系统总线

第三章 系统总线 笔记PDF版本已上传至Github个人仓库&#xff1a;CourseNotes&#xff0c;欢迎fork和star&#xff0c;拥抱开源&#xff0c;一起完善。 该笔记是最初是没打算发网上的&#xff0c;所以很多地方都为了自我阅读方便&#xff0c;我理解了的地方就少有解释&#xf…

indexedDB---掌握浏览器内建数据库的基本用法

1.认识indexedDB IndexedDB 是一个浏览器内建的数据库&#xff0c;它可以存放对象格式的数据&#xff0c;类似本地存储localstore&#xff0c;但是相比localStore 10MB的存储量&#xff0c;indexedDB可存储的数据量远超过这个数值&#xff0c;具体是多少呢&#xff1f; 默认情…

MLP多层感知器:AI人工智能神经网络的基石

MLP 是指多层感知器&#xff08;Multilayer Perceptron&#xff09;&#xff0c;是一种基础人工神经网络模型&#xff08;ANN&#xff0c;Artificial Neural Network&#xff09;。MLP 的核心是通过深度学习从大量数据中学习特征和模式&#xff0c;并训练参数。通过参数与激活函…

AMSR/ADEOS-II L1A Raw Observation Counts V003地球表面和大气微波辐射的详细观测数据

AMSR/ADEOS-II L1A Raw Observation Counts V003 简介 AMSR/ADEOS-II L1A Raw Observation Counts V003数据是由日本航空航天研究开发机构&#xff08;JAXA&#xff09;的AMSR (Advanced Microwave Scanning Radiometer)仪器收集的一组原始观测计数数据。这些数据是从ADEOS-I…

第一题(伏羲六十四卦)

题目&#xff1a; 首先伏羲64卦解密 再用base64解密即可

全栈人工智能工程师:现代博学者

任何在团队环境中工作过的人都知道&#xff0c;每个成功的团队都有一个得力助手——无论你的问题性质如何&#xff0c;他都能帮助你。在传统的软件开发团队中&#xff0c;这个人是一个专业的程序员&#xff0c;也是另一种技术的专家&#xff0c;可以是像Snowflake这样的数据库技…

编写水文专业串口通讯软件的开发经历

编写水文专业串口通讯软件的开发经历 一、关于开发 YAC9900 水位雨量 RTU 通讯软件二、软件开发遇到的问题和困难1、开发架构的适应2、开发语言的学习3、.net core 8 架构中串口构建的难点4、YAC9900 水位雨量 RTU 通讯软件开发中的 UI 冻结 三、发现问题解决问题的具体办法1、…

Android Studio无法连接夜神模拟器的解决方案

一、AS检测不到夜神模拟器 1、问题描述 在按照教程【如何安装和使用Android夜神模拟器】进入夜神的bin目录&#xff0c;输入连接命令回车后&#xff0c;终端显示的already connected to 127.0.0.1:62001&#xff0c;但是AS的Running Devices并没有显示夜神模拟器。 2、解决方…

鸿蒙HarmonyOS NEXT角落里的知识:ArkTS高性能编程实践

概述 本文主要提供应用性能敏感场景下的高性能编程的相关建议&#xff0c;助力开发者开发出高性能的应用。高性能编程实践&#xff0c;是在开发过程中逐步总结出来的一些高性能的写法和建议&#xff0c;在业务功能实现过程中&#xff0c;我们要同步思考并理解高性能写法的原理…

【Java】已解决java.nio.channels.ClosedChannelException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.nio.channels.ClosedChannelException异常 在Java的NIO&#xff08;New I/O&#xff09;编程中&#xff0c;java.nio.channels.ClosedChannelException是一个常见的异常…

韩国裸机云站群服务器托管租用方案

随着网络技术的飞速发展&#xff0c;站群服务器在网站运营中扮演着越来越重要的角色。韩国裸机云站群服务器&#xff0c;以其独特的优势&#xff0c;如地理位置优越、价格相对较低、技术实力雄厚等&#xff0c;吸引了众多企业的关注。本文将为您详细介绍韩国裸机云站群服务器的…

PostgreSQL配置SSL连接

1、系统需要有openssl、openssl-devel包 yum -y install openssl openssl-devel 2、查看当前数据库是否使用openssl编译 pg_config|grep CONFIGURE 如果没有重新编译 make clean make && make install 3、服务器端证书配置 服务器端需生成三个文件: root.crt(根证…

[RK-Linux] RK3562 I2C驱动TP芯片GSL3680

TP芯片GSL3680 1、简介 GSL3680是一款电容屏多点触摸控制单芯片,其芯片内部框架图如下所示: GSL3680采用了独特的互电容感应技术,可以在1ms内测量多达192个节点,支持广泛的传感器选择,包括单层或双层ITO,玻璃或薄膜,采用了先进的抗电磁干扰信号处理技术,使其对各种干…