Unity核心

2024-06-21 16:28
文章标签 unity 核心

本文主要是介绍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学习完。

这篇关于Unity核心的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081723

相关文章

JavaWeb系列六: 动态WEB开发核心(Servlet) 上

韩老师学生 官网文档为什么会出现Servlet什么是ServletServlet在JavaWeb项目位置Servlet基本使用Servlet开发方式说明快速入门- 手动开发 servlet浏览器请求Servlet UML分析Servlet生命周期GET和POST请求分发处理通过继承HttpServlet开发ServletIDEA配置ServletServlet注意事项和细节 Servlet注

【Unity Shader】片段着色器(Fragment Shader)的概念及其使用方法

在Unity和图形编程中,片段着色器(Fragment Shader)是渲染管线中的一个阶段,负责计算屏幕上每个像素(片段)的颜色和特性。片段着色器通常在顶点着色器和任何几何处理之后运行,是决定最终像素颜色的关键步骤。 Fragment Shader的概念: 像素处理:片段着色器处理经过顶点着色器和几何着色器处理后,映射到屏幕空间的像素。颜色计算:它计算每个像素的颜色值,这可能包括纹理采样、光

【Unity Shader】Alpha Blend(Alpha混合)的概念及其使用示例

在Unity和图形编程中,Alpha Blend(也称为Alpha混合)是一种用于处理像素透明度的技术。它允许像素与背景像素融合,从而实现透明或半透明的效果。Alpha Blend在渲染具有透明度的物体(如窗户、玻璃、水、雾等)时非常重要。 Alpha Blend的概念: Alpha值:Alpha值是一个介于0(完全透明)和1(完全不透明)的数值,用于表示像素的透明度。混合模式:Alpha B

IPD推行成功的核心要素(十一)技术规划与平台规划促进公司战略成功

随着外部大环境的影响,各企业仅有良好的愿望是不够的。预测并顺应新兴市场和技术的变化,变危机为转机,不断推出强大的产品才是一个公司持续繁荣的根本保障。而高效的产品开发往往是基于某些关键技术,针对市场推出的一个或几个产品系列,这些产品系列通常共用一些产品平台,共用一种或者几种关键技术。当一家企业进入了平稳发展期,已经建立了较为完善的管理制度和产品开发流程,但是依然认为竞争对手是那样强大,那样不可战胜。

2024年6月24日-6月30日(ue独立游戏为核心)

试过重点放在独立游戏上,有个indienova独立游戏团队是全职的,由于他们干了几个月,节奏暂时跟不上,紧张焦虑了。五一时也有点自暴自弃了,实在没必要,按照自己的节奏走即可。精力和时间也有限,放在周末进行即可。除非哪天失业了,再也找不到工作了,再把重心放在独立游戏上。 另外,找到一个同样业余的美术,从头做肉鸽游戏,两周一次正式交流即可。节奏一定要放慢,不能影响正常工作生活。如果影响到了,还不如自

Spring MVC的核心类和注解——@RequestMapping注解(二)@RequestMapping注解的属性

一、@RequestMapping注解的属性 属性名 类型 描述 name String 可选属性,用于为映射地址指定别名。 value String[] 可选属性,也是默认属性,用于指定请求的URL。 method RequestMethod[] 可选属性,用于指定该方法可以处理哪种类型的请求方式。 params String[] 可选属性,用于指定客户端请求中参数的值,必须包含

Linux - 探秘 Linux 的 /proc/sys/vm 常见核心配置

文章目录 PreLinux 的 /proc/sys/vm 简述什么是 /proc/sys/vm?主要的配置文件及其用途参数调整对系统的影响dirty_background_ratio 和 dirty_ratioswappinessovercommit_memory 和 overcommit_ratiomin_free_kbytes 实例与使用建议调整 swappiness设置 min_fr

服务器监控:运维行业的核心保障与第三方监控软件的选择

随着信息技术的飞速发展,企业IT架构日益复杂,服务器作为整个IT系统的核心,其稳定性和性能对业务的连续性至关重要。在运维行业中,服务器监控作为保障服务器稳定运行的关键环节,已经受到了越来越多企业的重视。本文将探讨服务器监控的重要性、挑战以及选择第三方监控软件的原因,并推荐一款优秀的服务器监控软件——监控易。 一、服务器监控的重要性     服务器监控是指对服务器硬件、操作系统、应用程序

Unity Meta Quest 开发:关闭 MR 应用的安全边界

社区链接: SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 📕教程说明 这期教程我将介绍如何在应用中关闭 Quest 系统的安全边界。 视频讲解: https://www.bilibili.com/video/BV1Gm42157Zi 在 Unity 中导入 Meta XR SDK,进行环境配置后,打开 Assets > Plugins > An

Spring响应式编程之Reactor核心组件

Reactor核心组件 Flux和Mono组件(1)Flux组件(2)Mono组件 Flux和Mono组件 Reactor 框架提供了两个核心组件来发布数据,分别是 Flux 和 Mono 组件。两者都是实现Publisher接口的高级抽象,可以说是应用程序开发过程中最基本的编程对象。二者都可以被onComplete信号或者onError信号所终止。 (1)Flux组件 表