• 2024-11-20[Unity]在TileMap上控制Camera移动、缩放
    环境:unity2021.3.14f1c1Camera类型OrthographicTileMap为XY方向摆放功能:单点触摸或鼠标操作移动Camera。使用BoxCollider2D控制地图范围。鼠标滚轮或多点触摸控制缩放。缩放维持中心点在屏幕的固定位置。代码:usingSystem;usingUnityEngine;publicclassTil
  • 2024-11-15【Unity】鼠标点击获取世界坐标位置:物体移动至鼠标点击的位置
    需求说明鼠标点击3D场景时,可以获取其所在的世界坐标;鼠标点击3D物体时,可以获取该物体;鼠标点击3D物体时,可以让玩家移动至该物体;成果展示Scene部分关于仓库栏的设置,物体如何进入仓库内容【查看此篇】能够被获取的物体,必须需要是一个碰撞体,即绑定了碰撞体组件。Mouse3D需要
  • 2024-11-05unity3d————叉乘的知识点
    一、向量叉乘的知识点定义与公式:向量叉乘的定义为:对于两个三维向量a和b,它们的叉乘结果是一个向量c,记为c=a×b。叉乘的计算公式为:c=(y1z2-y2z1)i+(x2z1-x1z2)j+(x1y2-x2y1)k,其中a=(x1,y1,z1),b=(x2,y2,z2),i、j、k分别为x、y、z轴的单位向量。几何意义:叉乘得到的向量c与
  • 2024-11-03unity3d————坐标转换(世界转本地)
    this.transform.InverseTransformPoint1. 世界坐标系与局部坐标系世界坐标系:Unity3D中的全局参考框架,所有游戏对象的位置、旋转和缩放都是相对于这个框架来定义的。局部坐标系:每个游戏对象都有自己的局部坐标系,这个坐标系是相对于该游戏对象的位置、旋转和缩放来定义的。2
  • 2024-11-03unity3d——Vector3
    在Unity3D中,Vector3是一个非常重要的结构体,用于表示三维空间中的位置和方向。以下是关于Vector3的一些关键知识点:一、Vector3的基本概念和属性定义:Vector3是一个包含三个浮点数的结构体,分别代表X、Y和Z轴上的分量。它用于描述具有大小和方向两个属性的物理量,如速度、加速度
  • 2024-10-27游戏系统代码1.0
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassInventoryPanel:MonoBehaviour{//StartiscalledbeforethefirstframeupdatevoidStart(){}//Updateiscalledonceperfram
  • 2024-10-23向量
    在数学中,向量(也称为矢量),是指具有大小和方向的量;书写向量时,水平书写的向量叫做行向量向量的大小就是向量的长度,也叫做模。向量的方向描述了空间中向量的指向;向量中的数表达了向量在每个维度上的有向位移。特殊向量零向量:大小为0,没有方向的向量,并且它不可以被归一化。单位向
  • 2024-10-22【八叉树】从上千万个物体中【**瞬间**】就近选取坐标
    众里寻他千百度,蓦然回首,那人却在灯火阑珊处前情提要在某些情况下,我们在场景中创建了数百万个物体,这些物体没有直接的网格或碰撞体(例如,通过GPU绘制的物体),因此无法通过常规的射线检测与碰撞体进行交互。我们仅掌握这些物体的坐标或顶点位置。在这种情况下,我们该如何通过鼠标来
  • 2024-10-22Unity 切换UI坐标和世界坐标
    usingUnityEngine;//这个脚本实现了,本脚本所在的游戏物体能够被拖拽publicclassDragObjectT:MonoBehaviour{privateVector3screenPoint;//存储物体在屏幕上的位置privateVector3offset;//存储鼠标点击位置与物体实际位置的偏移量privatebool
  • 2024-10-22Unity 平滑移动
    Vector3.SmoothDamp是Unity中一个非常实用的方法,用于在平滑的方式下将一个向量(如位置)平滑地移动到另一个向量。这对于实现流畅的相机跟随、物体移动等效果非常有用。以下是对Vector3.SmoothDamp的详细讲解。方法签名csharpCopyCodepublicstaticVector3SmoothDamp(
  • 2024-10-18移动
    几种常用的移动方式一、使用Transform组件场景中的每个游戏对象都拥有一个Transform组件,用于存储该对象的位置、旋转、缩放等基础属性,此种方式的原理就是通过Update函数每帧更新其位置来达到移动目的。1.transform.position最基础的移动方式,每一帧+=计算好的新位置p
  • 2024-10-18Camera
    基础概念Unity场景在三维空间中表示游戏对象。由于观察者的屏幕是二维屏幕,Unity需要捕捉视图并将其“平面化”以进行显示。它使用摄像机来实现这一点。在Unity中,您可以通过将一个Camera组件添加到游戏对象来创建摄像机。常用属性CullingMask通过选择层来渲染指定层的
  • 2024-10-11Unity实现3D模型子物体伸出折线并显示各自名称的功能
    一、灵感    在unity项目中我们经常会遇到很多介绍产品的场景需求,所以咱干脆写一个脚本来简单介绍把!话不多说,直接开干!二、场景搭建1、搭建一个简单的场景,创建一个cube作为最大的父物体,接着再创建一个球和一个圆柱作为cube的子物体。具体场景结构如下图:三、实现
  • 2024-10-09Unity使用DOTween实现金币飞入效果
    1publicGameObjectshowRewardPanel;2publicTextSetCoinText;3publicTextSetLevelText;//经验exp4privateintgetCoin;5privateintgetExp;6publicImagecoinImage;7publicImagetargetImage;8publicCameramainCamera;9publicTextMeshco
  • 2024-10-08Unity移动旋转缩放
    //【移动】//一、修改Position//Translate//每帧移动一定距离,乘以deltaTime后变成每秒移动一定距离,默认是局部坐标会受自身旋转影响//transform.Translate(Vector3.up*Time.deltaTime);//transform.Translate(Vector3
  • 2024-09-30unity编辑器绘制扇形
    使用UnityEditor.Handles.DrawSolidArc usingUnityEngine;usingUnityEditor;publicclassDrawSectorHandles:MonoBehaviour{publicfloatradius=5f;//扇形半径publicfloatangle=90f;//扇形角度publicColorarcColor=Color.red;/
  • 2024-09-25Unity中的功能解释(数学位置相关和事件)
    向量计算Vector3.Slerp(起点坐标,终点坐标,t),可是从起点坐标以一个圆形轨迹到终点坐标,有那么多条轨迹,那怎么办Vector3.Slerp进行的是沿球面插值,因此并不是沿着严格的“圆形轨迹”移动,而是在两点所在的大圆弧(球体上的最短路径)上插值。点乘叉乘判断方位,点乘得到的结果大于0和小于
  • 2024-09-24Python实现Phong着色模型算法
    目录使用Python实现Phong着色模型算法引言Phong着色模型的基本原理1.模型组成2.公式Phong着色模型的Python实现1.向量类的实现2.光源类的实现3.材质类的实现4.Phong着色器类的实现整体实现总结使用Python实现Phong着色模型算法引言在计算机图形学中,光照和
  • 2024-09-2136. 克隆.clone()和复制.copy()
    克隆.clone()、复制.copy()是threejs很多对象都具有的方法,比如三维向量对象Vector3、网格模型Mesh、几何体、材质。克隆.clone()克隆.clone()简单说就是复制一个和原对象一样的新对象,下面以三维向量对象Vector3给大家举例,其他的threejs对象都可以参照类似的写法。constv1
  • 2024-09-20en造数据结构与算法C# 群组行为优化 和 头鸟控制
    实现:1.给鸟类随机播放随机动画使得每一只鸟扇翅膀的频率都不尽相同2.可以自行添加权重,并在最后 sumForce=separationForce+cohesionForce+alignmentForce;分别乘上相应权重,这样鸟就能快速飞行和转向辣usingSystem.Collections.Generic;usingUnityEngine;usingS
  • 2024-09-12通过方向计算四元数旋转
    1//已知方向,求物体的旋转2publicstaticQuaternionGetRotation(Vector3knownDirection)3{4knownDirection.Normalize();5//Unity中的世界坐标系中,正前方通常为Vector3.forward(0,0,1)6Ve
  • 2024-09-08实现人形角色的攀爬
    在Unity实现角色攀爬前言开放世界类型的游戏近年也热门起来了,自由攀爬也成了这一类游戏的一大特色。攀爬给了玩家更多探索路径的选择,也让地图设计有了更多思路。这次,我们就来尝试在Unity中制作一个人形角色的攀爬。注:攀爬是一个角色完整动作系统的一部分,本文暂且抛开其它动
  • 2024-09-05Unity网格编程学习(二)
    目录1.创建平面2.创建立方体1.创建平面定义平面的长、高,以及mesh的顶点、uv、法线publicintx=3,y=3;privateVector3[]vertices;privateVector2[]uvs;privateVector3[]normals;privatevoidStart(){Meshmesh=newMesh();MeshFilterfilter=
  • 2024-09-04Unity网格编程学习(一)
    目录1.创建平面2.使用UV贴图3.使用法线贴图1.创建平面Unity有MeshFilter和MeshRenderer组件,通过编辑MeshFilter的Mesh属性进行绘制,并使用MeshRenderer将图形渲染到屏幕上。//在C#脚本顶部使用这段语句检测绑定该脚本的对象是否存在MeshFilter和MeshRenderer组件,如果没有
  • 2024-08-31unity3d拼图__附带资源
    要达到吸附效果则需要每个拼图上挂载碰撞体达到整张图片的替换效果需要选中所有拼图部件把材质球拖上去、制作材料球脚本挂载到随便一个空物体上usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassPinTu:MonoBehaviou