草庐IT

unity射线使用方法详解

目录射线的编程方法射线的碰撞信息穿过多个物体的射线 获取图层的方法 区域覆盖型射线(Overlap)射线的调试方法 射线在游戏开发中,应用非常广泛,所以掌握射线非常重要。列如:判断角色是否着地,可以向角色脚下发射射线,判断是否接触地面。注意:各种射线检测都是以物理系统为基础的。射线需要与碰撞体和触发器配合才能发挥出作用。射线与视线一样会被障碍物阻挡并且射线不仅可以有长度,还可以有粗细和形状,列如球形射线,盒子射线和胶囊体射线。方法都大同小异。射线的编程方法常用的直线射线类型用类型Ray表示,Ray包含了起点origin跟方向direction的定义,起点和方向都用Vector3类型表示,前者是

1.10 Unity中的数据存储 JSON

一、介绍Json是最常用也是目前用的比较多的一种,超轻量级,可便捷性使用,平时用到比较多的都是解析Json和往Json中添加数据、修改数据等等JSON(JavaScriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式,它基于ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率在Unity中大致有三种使用Json的方式分别是使用类库的两种:System.Json(便于JSON生成)和LitJso

Unity矩阵入门—Matrix4x4的平移 旋转 缩放

最近在看矩阵,顺路记录一下复习吧1.矩阵变换-平移向量矩阵转换在计算机图形学和游戏开发中起着非常重要的作用,它被广泛应用于以下几个方面:坐标变换:通过向量矩阵转换,可以实现物体在不同坐标系之间的变换,包括平移、旋转和缩放等操作。例如,在游戏中,通过将一个模型的顶点坐标乘以一个变换矩阵,可以实现该模型的移动、旋转和缩放。镜头变换:在计算机图形学中,相机(或镜头)的位置和方向对于视图的呈现至关重要。通过将相机的位置和方向与场景中的物体进行转换,可以实现正交投影或透视投影,从而获得不同的视角和观察效果。物体变形:通过应用变换矩阵,可以实现对物体的形态进行自由的变形。例如,在角色动画和变形动画中,通过

unity脚部IK实时贴合地面,布娃娃系统

目录角色的导入下面开始介绍这个插件的使用GroundIKAimIKRagdollUtility布娃娃系统角色的导入为了方便我们对人物的控制,这边为了方便我们为其添加一个免费的第三人称控制器将该控制器的脚本与动画状态机添加到我们的模型中 下面开始介绍这个组件的使用添加FullBodyBippedIk组件,这个组件会将模型的骨骼节点都添加上去,如果报红就需要调整骨骼节点的旋转,位置,直至正常。 FixTrransformS该属性用于控制所有骨骼都收IK的影响,关闭该属性其余骨骼节点不会跟随选中的骨骼做IK运动Referencces用于绑定各部分的骨骼节点,可以手动调节Spin与Eyes手动添加其他

unity学习笔记

一、DOTween简介Dotween是Unity中一个强大的插件,用于处理动画和补间效果。它提供了一种简单而灵活的方式来创建平滑的动画,而不需要编写大量的代码。特点:1.简单易用:Dotween提供了一个简单而直观的API,使得创建动画变得容易。2.强大的补间引擎:支持丰富的补间效果,包括移动、旋转、缩放、颜色变化等。3.链式调用:支持链式调用,使得在同一个动画序列中可以轻松地添加多个动作。4.可扩展性:Dotween允许你使用插件系统来扩展其功能,或者通过自定义插值器来实现特定的效果。5.跨平台:兼容多平台,包括PC、移动设备、Web等。6.支持物理引擎:可以与Unity内置的物理引擎集成,

【Unity实战】Jenkins与自定义命令行参数

Unity是一款功能强大的游戏开发引擎,它提供了许多方便开发者使用的功能和工具。其中一个非常有用的功能是Unity命令行参数。通过使用命令行参数,开发者可以在启动Unity时自定义一些行为和设置,从而更好地管理和调试项目。使用Unity命令行参数的好处是,它可以帮助开发者更好地管理和调试项目。通过在命令行中指定参数,我们可以自动化一些常见的任务,例如构建项目、执行测试、导出资源等。这不仅可以提高开发效率,还可以减少人为错误的发生。当然有些时候我们需要自己定义一个或者多个命令行参数,比如我们要启动一个服务器构建、接入一个CI/CD,人手动操作肯定费时费力,而且不熟悉Unity编辑器的新手难免会出

Unity组件开发--相机跟随角色和旋转

1.相机跟随组件,节点:2.相机跟随组件脚本:usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingUnity.Burst.Intrinsics;usingUnityEngine;usingUnityEngine.UI;publicclassCameraFollow:Singleton{publicTransformfirstAngleTarget;//第一人称跟随的目标publicTransformthreeAngleTarget;//第三人称跟随的目标publicfloatradius;public

【Unity小技巧】Unity中实现带有Sprite Shape的2D水效果(附项目源码)

文章目录先看实现的最终效果前言模拟水面的波动效果制作2d水面实现物体落入水中互动效果给水面添加浮力效果最终效果源码参考完结先看实现的最终效果前言本文是自己的学习笔记,最近发现一个很有意思的2d水效果,所以把它的实现过程写下来分享给大家。当在Unity中实现带有SpriteShape的2D水效果时,首先需要理解SpriteShape和水效果的基本概念和工作原理。SpriteShape是Unity提供的一种2D图形工具,用于创建基于轮廓的精灵形状,并可以根据路径进行变形和填充。而2D水效果通常涉及模拟水体的行为,包括波纹、浪花、浮力等物理特性的表现。总的来说,结合SpriteShape和水效果需要

Unity Object reference not set to an instance of an object

我在过去的Unity游戏制作过程中,经常会报错NullReferenceException:Objectreferencenotsettoaninstanceofanobject.这句话中文翻译过来空引用,物体引用没有设置成实例。造成这种报错有很多原因,我最常见的问题是挂载的代码脚本写了一个公共类型的变量,但是没有在属性面板的代码接口处手动赋值。解决办法就是查看是哪个代码下的公共变量没有实例值,手动为它拖入值。上面的报错中显示我是名为ContainerUI的代码没有输入实例值,ContainerUI中我写了一个publicSlotHolder[]slotHolders的公共变量,于是我去找所有

Unity关于easySave2 easySave3保存数据的操作;包含EasySave3运行报错的解决

 关于easySave2easySave3保存数据的操作;包含EasySave3运行报错的解决///数据存储路径(EasySave的默认储存位置为:Application.persistentDataPath,为了方便我们可以给它指定储存路径)#region存储数据/*//////存储数据///privatevoidSaveData(){ES2.Save(123,dataPath+"IntData");ES2.Save(1.23f,dataPath+"FloatData");ES2.Save(true,dataPath+"BoolData");ES2.Save("abc",dataPath+"