![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity3D
儒雅的Ayo
发表自己对IT行业相关知识的见解,相互促进,彼此交流学习,共同进步。
展开
-
Visual Studio Code 中隐藏Lua文件产生的.meta文件
Visual Studio Code 中隐藏Lua文件产生的.meta文件首先打开VSCode以后,在左下角找到管理。在打开的设置页面中搜索settings.json,点击在settings.json中编辑。在setting.json文件中添加下图代码:如果已经有这个属性就直接在后面加上"**/*.meta":true即可。保存设置会发现.meta文件已经被隐藏掉。...原创 2021-01-06 18:49:10 · 1001 阅读 · 0 评论 -
手枪的旋转
手枪的旋转根据鼠标在屏幕上的相对位置旋转枪口。首先设置一下枪的旋转角度范围。这个根据场景中具体情况选择合适的角度。给定一个射击的时间用来控制枪的射速(这里用伪代码先写一些,主要是枪的旋转)获取鼠标点击位置在X和Y方向上的所占比例;计算出旋转的角度。要注意枪在上下旋转的时候实际上是绕着X轴进行旋转;枪在左右旋转的时候实际上是绕着Y轴进行旋转。然后设置枪的欧拉角完成旋转。public class GunManager:MonoBehaviour{private float ..原创 2020-11-26 10:56:22 · 393 阅读 · 0 评论 -
认识Shader
认识ShaderShade是什么? Shader(着色器),本质上就是一小段程序片段。主要是告诉图形硬件如何输出图像。可编程图形管线的算法片段。 渲染管线:是芯片内部处理图形信号的相互独立的并行处理单元。Shader有三种:1、固定管线着色器(由于方法固定,操作有限所以已经被淘汰使用)2、顶点+片段着色器(能够在底层实现一些复杂的效果)3、表面着色器(高层封装使用,无法实现一些细节操作,底层的实现还是用顶点着色器)Shader的基础语法结构:Sha...原创 2020-11-24 20:37:37 · 234 阅读 · 0 评论 -
Addressable插件实现C#的热更新流程
Addressable插件实现C#的热更新流程在菜单栏Window下选择PackageManager,搜索Addressable导入,这里我用的Unity版本是2019.4.13,导入的Addressable包的版本是1.16.10.导入后发现在Assets目录下有一个AddressableAssetsData文件夹。为了测试我们用一个图片做成窗口,并将其拖成预设体,打开预设体,会发现有一个Addressable选项,勾选后Save。(相当于AB包打包的过程)。当然也可以打开Window下Ass原创 2020-11-17 22:22:31 · 1091 阅读 · 0 评论 -
Unity实现在线宝箱功能
Unity实现在线宝箱功能首先让明确一点OnlineBox其实是一个Button组件。 先实现一个功能是点击宝箱,更换打开成宝箱的图片,并播放对应的音效: /// <summary> /// 点击宝箱的时候换图片 /// </summary> public void OnlineBoxOnClickDotween() { this.GetComponent<Image>().sprite =...原创 2020-11-17 20:20:03 · 1074 阅读 · 0 评论 -
高亮插件Highlighting的使用
高亮插件Highlighting的使用前言: 高亮插件的效果是在模型边缘出现一圈明亮的边框,具体体现在射击游戏中捡枪的过程,人物接触到枪的时候枪的边框颜色发生改变。一、下载 在AssetStore中搜索HighlightingSystem,下载完成后Input导入到项目中即可。二、使用 首先给摄像机挂载脚本Highlighting Renderer组件,无需设置直接挂载就行。 创建一个立方体,给立方体挂载上Hight...原创 2020-11-16 11:50:34 · 1346 阅读 · 0 评论 -
捕鱼场景中子弹反弹效果的实现
捕鱼场景中子弹反弹效果的实现目录捕鱼场景中子弹反弹效果的实现前言核心代码:代码分析:前言在捕鱼游戏中设计子弹时实现的反弹效果,这里做一个总结,方便以后在其他游戏中要实现同样的功能时查阅参考。核心代码: private void OnTriggerEnter(Collider other) { if (other.tag == "Wall")//撞墙反弹 { float fFlag = -1.0f;原创 2020-11-07 16:05:57 · 837 阅读 · 0 评论 -
Unity将世界坐标转为UI坐标
Unity将世界坐标转为UI坐标话不多说,直接上代码: public void World2ToUI(Vector3 wpos, RectTransform uiTarget) { //初始化一个屏幕坐标 Vector2 m_tempV2 = Vector2.zero; //使用场景相机将世界坐标转换为屏幕坐标 Vector3 spos = sceneCamera.WorldToScreenPoint(wpos);原创 2020-11-07 15:12:26 · 1873 阅读 · 0 评论 -
认识Unity中Prefab
认识Unity中Prefab一、Prefab是什么?Prefab我们通常称为预设体(或预制件,预制体)。作用:在开发一些功能的时候, 将一些能够复用的对象制作成预设体(可以是模型,窗口,特效等),可以将预设体存放到 Resources 目录之下,通过动态加载的方式加载到场景中并进行实例化。优点:二、使用步骤1.引入库代码如下(示例):import numpy as np import pandas as pd import matplotlib.pyplot as p.原创 2020-11-07 10:49:36 · 17981 阅读 · 0 评论 -
Asset database transaction committed twice!
--Assertion failed on expression: 'm_ErrorCode == MDB_MAP_RESIZED || !HasAbortingErrors()--Asset database transaction committed twice!--Assertion failed on expression: 'errors == MDB_SUCCESS || errors == MDB_NOTFOUND'出错了!先用我那贫瘠的英语水平简单翻译一下:Asserti原创 2020-11-04 20:50:36 · 10764 阅读 · 4 评论 -
Unity3D通过射线检测实现子弹射击
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档关于射线检测实现子弹射击效果1、射线检测 2、实现子弹发射的效果 3、拓展(FPS游戏进场开始游戏选择) (1)射线检测与组件LineRenderer的使用 (2)优化 一、射线检测是什么? 射线检测是指通过发出一条射线,对射线碰撞到的碰撞体进行检测,发生碰撞满足条件时返回值为真。其中包括:1、Physics.Linecast 线性投射:开始位置到结束位置进行光线投射2、Physics...原创 2020-10-28 22:18:55 · 6482 阅读 · 1 评论