草庐IT

【制作100个unity实战之4】手戳一个自定义角色换装系统——2d3d通用(附项目源码)

文章目录每篇一句前言素材开始切换头型添加更改颜色随机控制头型和颜色新增眼睛同样的方法配置人物的其他部位设置相同颜色部位全部部位随机绘制UI并添加点击事件通过代码控制点击事件添加颜色修改的事件其他部位效果UI切换添加随机按钮保存角色变更数据跳转场景显示角色数据

c++ - 如何检测我何时在运行 Unity 的系统上?

为了在程序使用哪种类型的应用程序指示器之间进行选择,我需要检测我是否在Unity桌面中。这可能吗?当我无法访问环境时是否可能? 最佳答案 看起来还有XDG_CURRENT_DESKTOP:rubiojr@rubiojr-VirtualBox:~$echo$XDG_CURRENT_DESKTOPUnity参见https://askubuntu.com/questions/70296/is-there-an-environment-variable-that-is-set-for-unity

Unity GC

本文由简悦SimpRead转码,原文地址mp.weixin.qq.com简略版本在Unity中,垃圾回收(GarbageCollection,GC)采用的是基于标记-清除(MarkandSweep)算法的自动内存管理机制。基于标记-清除算法的垃圾回收包括以下步骤:标记阶段(Mark):在这个阶段,垃圾回收器会遍历程序中的对象,从根对象(如全局变量、活动线程的栈和静态变量等)开始,标记所有能够访问到的对象。这些被标记的对象被认为是“活跃”的,而未被标记的对象则被认为是“垃圾”。清除阶段(Sweep):在这个阶段,垃圾回收器会遍历整个堆内存,清除未被标记的对象,释放它们所占用的内存空间。这样就完成

Cinemachine - Unity相机入门

Unity相机策略千千万,Cinemachine独占一半以上权当一句玩笑话不过就博主入职的若干芝麻小公司而言,Cinemachine出现的频率堪称恐怖。有直接用Cinemachine的,也有魔改后再用的……那么,为什么Cinemachine有这样的魔力呢?至此,我开始尝试《走进相机》……注意:只有2017.1之后版本的Unity才可以使用CinemachineCinemachine是什么?cinemachine相机是虚拟的,内部由数据来控制,所以体量小,性能消耗小在运行时将场景的camera绑定到某一个cinemachine虚拟相机上所以镜头的操作是由cinemachine来实现,而真正的相机

【unity知识点】实现延迟调用——InvokeRepeating Invoke CancelInvoke Coroutine使用介绍

文章目录InvokeRepeatingInvokeCancelInvokeCoroutine1.使用协程(Coroutine)实现类似Invoke的延迟调用:2.要使用协程(Coroutine)来实现类似于`InvokeRepeating`的重复调用效果3.区别4.补充完结InvokeRepeatingInvokeCancelInvoke当需要在Unity中实现延迟调用的功能时,你可以使用InvokeRepeating、Invoke、CancelInvoke和协程(Coroutine)来完成。下面是它们的具体示例用法:使用InvokeRepeating方法实现重复调用:usingUnityEn

Unity角色碰撞摩擦力产生的卡墙问题

问题:给角色添加rigidbody和capsulecollider,给一面墙添加boxcollider。 角色跳起来贴着墙向前移动,不会掉落。角色贴着墙不可以向墙的方向跳起来。角色贴着墙不可以移动。原因:碰到墙的时候按着方向键像把人物按在墙上,由于摩擦力的存在,所以会卡在墙上不能移动。解决方法:1.分别创建一个有摩擦,一个无摩擦的物理材质球   2.当起跳的时候,将无摩擦的材质赋值给角色身上的胶囊体capsulecollider。当落地的时候,再把有摩擦的材质赋值给角色身上的胶囊体。(解决蹭墙起跳和卡墙的问题)在代码中修改:publicPhysicMaterialnoFriction;publ

【Unity3D】Tank大战

1需求实现    项目代码见→坦克大战1.1.0        1)人机交互玩家通过↑ ↓ ← →键(或W、S、A、D)键控制己方坦克平移;玩家通过滑动鼠标右键控制己方坦克左右旋转;玩家通过鼠标左键(或空格键)控制己方坦克发射炮弹;玩家通过ESC键控制窗口全屏和恢复;玩家通过Q键控制退出游戏;    2)相机主相机跟随:主相机始终在玩家后上方的位置,并保持与玩家的相对位置不变;次相机实现小地图:次相机俯拍战场,并将影像在屏幕右上角显示;单击小地图,小地图全屏,再单击,小地图恢复,在全屏和恢复的过程中有缩放动效。    3)坦克属性坦克属性:血量、移动速度、旋转速度、颜色、初始位置、初始方位。 

Unity中TextMeshPro的使用

Unity中TextMeshPro的使用前言 在Unity中有自带的Text组件,这个组件已经能够满足我们日常开发中绝大多数的开发字体显示需求了,我们为什么还要使用这个TextMeshPro组件呢?这是因为Text使用的是基于位图的渲染技术而TextMeshPro基于的则是SDF算法即基于网格的文本渲染技术,并且TextMeshPro相比于Text拥有更强的抗锯齿效果。说人话就是TextMeshPro在字体放大的时候不会变模糊但是Text在字体变大的时候会出现模糊的情况,如下:并且TextMeshPro相比于Text组件来说能够支持更加丰富的显示类型,例如:超链接、富文本、文本描边、图文混排等

Unity中Shader旋转矩阵(四维旋转矩阵)

文章目录前言一、围绕X轴旋转1、可以使用上篇文章中,同样的方法推导得出围绕X轴旋转的点阵。2、求M~rotate~二、围绕Y轴旋转1、可以使用上篇文章中,同样的方法推导得出围绕Y轴旋转的点阵。2、求M~rotate~三、围绕Z轴旋转1、可以使用上篇文章中,同样的方法推导得出围绕Z轴旋转的点阵。2、求M~rotate~四、在Shader实现1、在属性面板定义四维变量,用xyz控制XYZ轴上的旋转2、在常量缓冲区申明该变量3、在顶点着色器定义旋转矩阵4、使用旋转矩阵与模型顶点相乘输出5、最终效果五、最终测试代码前言在上篇文章中,我们推算出了Shader物体旋转所使用的二维旋转矩阵。Unity中Sh

Unity 打包的WebGL项目在火狐浏览器Firefox上打开(本地)

在本地打开webGL的文件:1,打开火狐Firefox浏览器,在地址栏内输入about:config。出现Firefox配置信息,“三思而后行”点击“接受风险并继续”。2,在搜索栏中搜索webgl3,找到webgl.force-enabled,双击,设置为true,强制开启webgl支持。4,搜索security.fileuri.strict_origin_policy,双击设置为false,允许加载本地资源。5,关闭Firefox,然后重新启动,将本地的webgl文件中的index.html 网页拖到标签栏中。