Unity3d
文章平均质量分 58
主要用于记录Unity3d知识以及一些小项目开发的过程
圣☆哥
这个作者很懒,什么都没留下…
展开
-
【Unity3D Debug】如何在不改变物体自身Transform的情况下,令其绕特定物体进行旋转(含方法可行性证明)
【Unity3D Debug】如何在不改变物体自身Transform的情况下,令其绕特定物体进行旋转(含方法可行性证明)问题引入问题引入这个问题或许有人会觉得很奇怪:为什么要绕这么大一个弯子,直接改变该物体的Transform,令其绕特定物体旋转不就好了吗?大多数情况下,确实不用绕弯子。不过有时候物体自身的Transform是无法改变的:比如带骨骼的角色由Animator Controller控制时,骨骼动画所控制的骨骼物体在运行期间无法更改其Transform组件,但却需要以其中心点为旋转点、X轴(原创 2022-03-19 00:02:02 · 4858 阅读 · 0 评论 -
【Unity3D Debug】跳跃时的地面检测:“CharacterController.isGrounded的值总是为false”的原因与解决方案
【Unity3D Debug】跳跃时的地面检测:“CharacterController.isGrounded的值总是为false”的原因与解决方案FPS控制器中处理跳跃时需要进行角色与地面的碰撞检测,如果使用Character Controller,会发现有一个isGrounded属性,其描述如下:isGrounded: Was the CharacterController touching the ground during the last move?其实际意思是上一次调用Character原创 2022-03-13 00:28:35 · 7522 阅读 · 3 评论 -
【Unity3D Debug】“CharacterController.Move()在处理角色移动时,角色不论怎么转向其移动方向始终不变”的解决方案
【Unity3D Debug】CharacterController.Move在处理角色移动时,角色不论怎么转向其移动方向始终不变的解决方案这是笔者在处理FPS角色的移动逻辑时遇到的问题。举个例子,我现在想通过角色控制器(Character Controller)组件,让角色朝着moveDir的方向移动(其中moveDir的方向是相对于角色的transform.forward而言的),代码如下所示:void Update(){ //... float speed = 5f; // 移动速度 Ve原创 2022-03-10 22:26:50 · 7944 阅读 · 4 评论 -
【Unity3D】 Blender2.9+二足角色FPS(TPS)手臂的IK骨骼绑定经验总结
本篇文章总结了一周的blenderIK二组角色骨骼绑定实践过程中的收获,主要供以后回顾,如果能帮到大家那就更好了~原创 2022-01-04 23:40:59 · 6192 阅读 · 0 评论 -
【Unity3d开发笔记】-FPS- 通过代码改变物体的组件Components在Inspector内的排序
【Unity3d开发笔记】通过代码改变物体的组件Components在Inspector内的排序FPS游戏一般有多个阵营,对于带有联机的FPS,一般还要准备原角色的同步版本,这样下来可能需要制作多个预制体。同步角色与可控角色的区别,主要是其物体对象悬挂的组件的差别。给场景动态添加一个角色的方式有很多:可以直接从做好的预制体中Instantiate一份,只不过可能需要制作多个预制体,每个阵营分别准备可控角色与同步角色;也可以从零开始创建GameObject,然后按照预先设计好的程序把各个部件按照一定原创 2020-09-12 00:05:20 · 905 阅读 · 0 评论 -
【Unity3d开发笔记】 -FPS- GameObject.GetComponent<T>()获取组件的顺序
【Unity3d开发笔记】 -FPS- 使用GameObject.GetComponent<T>()的一个小问题这是我在制作FPS网络多人游戏时遇到的一个小问题,就是子弹击中敌方单位后出现Null Reference Exception的Error,仔细一看是控制人物动画状态私有字段(Animator)...原创 2020-09-11 11:41:52 · 1963 阅读 · 0 评论 -
【Unity3d笔记】 文件路径与层级路径(Hierarchy)
【Unity3d笔记】 文件路径与层级路径(Hierarchy)Unity3d里面经常需要加载Resources文件夹下的资源,这里用到的是加载资源的文件路径,形式为string path = "xxx\\xxx\\xxx";或string path = @"xxx\xxx\xxx";,注意是右斜杠,因为它是转义符号,因此在第一种形式中需要在前面再加一个\。与之不同的是,在用transform.Find()方法查找场景子物体时,目标物体虽然在根物体(调用Find()方法的物体)的子树中,但不一定是根物体原创 2020-09-09 20:31:13 · 1801 阅读 · 1 评论 -
【Unity3d开发笔记】FPS 声源:移动&跳跃&着地&射击的声音逻辑
【Unity3d笔记】FPS 声源:位移&射击的声音逻辑FPS游戏中基本的声源包括位移(移动 + 跳跃 + 着地)和射击。处理好它们的关键在于播放音源的时机,以下是个人的一种处理思路。【实现思路】给角色装配两个声源AudioSource,一个用于处理枪声(fireSource),另一个处理位移(stepSource)对于枪声的音源,只需在按下射击键并且射击成立时播放即可对于位移的音源,由于跳跃和着地的频率相对移动低很多,因此我们可以将前两者的优先级设置得更高,这意味着在跑动时若按下跳跃键原创 2020-09-08 23:50:59 · 2017 阅读 · 0 评论 -
【Unity3d】在游戏运行时隐藏Windows鼠标
在Start()方法下添如下代码:Cursor.lockState = CursorLockMode.Locked;原创 2020-11-24 15:20:05 · 1348 阅读 · 0 评论 -
【Unity3d笔记】控制字段在Inspector面板中的显示方式(更新中)
首先分享一个不错的链接: Unity常用[xxx]用法 特性 [Header("Gameplay")] //Inspector 标题 [Range(0, 100)] //滑动条 public int LeftRoomProbability = 10; [Range(0, 100)] public int UnoProbability = 70; [Range(0, 100)] public int LowercaseNameProbability原创 2020-05-11 21:51:54 · 1230 阅读 · 0 评论 -
【Unity3d笔记】 PlayerPrefs数据存储位置
PlayerPrefs存储数据的位置为注册表:HKEY_CURRENT_USER\Software\Company Name\Project Name其中Company Name和Project Name可以在Unity->Edit->Project Settings->Player中设置与查看,如图所示:然后Win+R–>输入regedit,打开注册表编辑器,找到相应位置查看设置的项如下图:...原创 2020-05-11 16:59:56 · 4084 阅读 · 0 评论