unity
文章平均质量分 56
ToDoNothing
VR,AR,游戏项目开发请找我
展开
-
Unity实现鼠标画画的功能
在unity里面实现一个功能,通过按下鼠标左键开始在平面上画画,松开鼠标左键结束画画。确保该游戏对象上有 Line Renderer 组件,并设置好材质和线宽等参数。运行游戏,在场景视图中按下鼠标左键并拖动即可进行画画,松开鼠标左键则结束画画。将该脚本添加到游戏对象上。原创 2023-05-23 21:47:54 · 888 阅读 · 1 评论 -
Unity Netcode for GameObjects多人联机(源文件)
删除MainCamera,新建Camera,在Scene中调整到合适视角,然后选中Camera点击Align With View,对齐视角。,安装方式也很简单,新建好Unity项目,打开菜单栏Window-Package Manager,点击加号add Package from git Url,输入以下地址,点击add等待安装完成即可。同时,为了发射子弹,添加两个空物体,作为子弹生成和发射方向的物体,然后保存预制体。创建一个球体作为子弹,给球体添加如下组件,其中Bullet为创建的新脚本。原创 2023-01-12 21:12:56 · 5157 阅读 · 1 评论 -
Unity Addressables实现web文件夹更新资源
新建一个cube测试,拖到资源文件夹,作为预制体,然后拖到RemoteGroup里面。注意路径"Assets/Prefabs/Cube.prefab",为预制体的路径。打开网络文件服务器,这里我用的HFS,将刚才生成的文件和父文件夹拖入。回到unity,设置RemoteGroup的加载和建立路径。打开Addressables Groups组设置。找到以下文件夹,文件夹里面的文件为建立好的文件。下载Addressables插件。删除cube预制体,进行测试。新建脚本,添加一下代码测试。原创 2022-10-01 12:08:38 · 1087 阅读 · 0 评论 -
Unity Shader学习(九)物体边缘实现
进一步了解物体轮廓,物体轮廓其实就是物体在显示的屏幕上最外侧的边缘部分,因此要对模型最外部的边缘部分进行处理,如上图的边缘部分就是立方体的几条边,如下图所示,红色所在范围即为边缘部分。根据前面的学习,我们了解到除了可以对点的颜色进行处理,还可以对点本身进行操作,例如我们可以改变点的位置,这样就可以实现对模型渲染的操控。使用UnityObjectToClipPos函数,可以将模型空间的点转换到裁剪空间,下面这行在原来点的基础上,乘以法线点和轮廓值,向外延伸,如下图所示。...原创 2022-08-14 22:13:42 · 2703 阅读 · 0 评论 -
Unity Shader学习(八)纹理图像的混合使用
代码】Unity Shader学习(八)纹理图像的混合使用。原创 2022-08-11 09:32:36 · 444 阅读 · 0 评论 -
Unity Shader学习(七)纹理图像的简单使用
uvUV值如果uv值为(0,0),则返回左下角的像素,如果uv值为(1,1),则返回右上角的像素,如果uv值为(0.5,0.5),则返回中间像素。旋转过程中添加了一个rotate函数,该函数主要是通过矩阵实现旋转相应的度数theta,aspect参数主要是处理拉伸的情况。如果们需要把图像左右翻转或倒过来,可以通过操作uv的坐标值来实现,如下是左右翻过来。在旋转之后,会多出相同的画面,这里进行了判断处理,多出的部分变成黑色。其实也就是获取到贴图的颜色信息,再直接输出,此处用到。...原创 2022-08-01 10:26:10 · 764 阅读 · 1 评论 -
Unity多人联机框架Mirro学习记录(一)
例如在服务器端运行的OnServerConnect函数中,检测到一旦有客户端加入,就会执行该函数,conn为加入函数的客户端NetworkConnectionToClient。注册该事件,每个客户端都要注册,如果出现客户端没有注册该事件,但是仍然发送数据过去,就会出现下面这个错误,因为NetworkClient没有注册该事件,所以会出现该问题。主要是向该连接的客户端发送消息,例如我在服务端保存了所有客户端NetworkConnectionToClient,可以通过该客户端的Send函数执行对应的事件。...原创 2022-07-28 21:29:51 · 1880 阅读 · 3 评论 -
Unity Shader学习(六)实现雷达扫描效果
回到画线的函数中,a和b分别为线的x,y点位置,line_width为线的宽度,edge_thickness为线的厚度,通过smoothstep判断点是否在该范围内,这里根据的是x和y的坐标来判定的,稍微有一点难理解,最好就是自己画图输入参数证明一下。代码中的轮廓圆,是在实心圆的基础上进行绘制,实心圆需要绘制半径内所有点的颜色信息,而轮廓圆,只需要绘制轮廓线即可,因此只需要取半径radius+half_line_width和radius-half_line_width范围之内的点即可,如下图所示。.....原创 2022-07-21 14:52:40 · 2610 阅读 · 0 评论 -
Unity Shader学习(五)鼠标移动方块
然后只需要控制_MouseCenter这个参数,通过unity脚本对_MouseCenter进行赋值。原理其实也很简单,只需要将方块的中心点位置等于鼠标位置即可。根据上一节的内容,创建了一个方块。现在我们来移动该方块。......原创 2022-07-18 16:02:37 · 652 阅读 · 0 评论 -
Unity Shader学习(四)试着绘制一个正方形
绘制一个正方形,原理也很简单,判断点是否在尺寸所在范围内即可,先获取到(点坐标-中心坐标)的向量,对x,y两个轴的值与size进行判断。绘制长方形也是同样的原理原创 2022-07-09 14:50:40 · 1418 阅读 · 0 评论 -
Unity Shader学习(三)试着绘制一个圆
先上代码这里解释一下根据第二个教程,我们在Pass块里定义了两个处理流程,分别为vertex和fragment,先执行vertex顶点着色器,处理顶点信息,再进行fragment片元着色器,处理颜色光照等信息。因此我们在最上面先定义了一个结构体,用来定义一个顶点的信息:可以看到,定义的结构体包含了两个Texcoord,即纹理信息,这里只读取了两组。除此之外还有SV_POSITION为顶点的位置,除了SV_POSITION,还有一个参数叫做POSITION,二者的区别不大,具体如下:POSITION:原创 2022-07-02 18:52:06 · 1375 阅读 · 0 评论 -
Unity Shader学习(二)第一个Shader
与上一节一样,创建一个shader,这节我们来试着自己输出一个颜色给材质,代码如下:v2f_img的源码效果就是一个红色的材质,没有光照信息改一下return的值,变成蓝色原创 2022-06-22 10:46:39 · 818 阅读 · 0 评论 -
Unity中创建PDF的方法
Unity中创建PDF原创 2022-04-25 10:30:35 · 1403 阅读 · 0 评论 -
DllNotFoundException: XRSDKOpenVR Unity.XR.OpenVR.OpenVRLoader.Initialize报错(unity2019.4.8f1)
打开packageManager检查是否有OpenXR Plugin插件,Remove即可原创 2022-02-14 13:45:57 · 3558 阅读 · 0 评论 -
Oculus Quest2开发:(一)基础环境搭建和导包
首先我们要知道,Oculus Quest2的操作系统是定制化的安卓系统,所以我们需要导出安卓系统包,在UnityHub安装unity版本时,可以选用较新的版本,同时勾选安卓开发SDK包选项,笔者这里用的unity版本是Unity2021.3.7f1c1,如下图所示新建一个项目,这里我会使用通用渲染管线,该渲染管线支持移动VR端打开项目,在unity的上方Window》Package Manager中,搜索XR Interaction Toolkit、XR Plugin Management、Open原创 2021-06-28 16:02:24 · 3484 阅读 · 2 评论 -
摩尔庄园日记一:实现摩尔庄园里面的开垦、播种、浇水和收获
教程效果演示最近摩尔庄园这个游戏很火啊,在里面种种菜,开开荒还是不错的。不过种田虽爽,也还会思考如果是要你实现这些功能,你会怎么做呢?稍微思考了一下,其实里面的功能也没那么复杂,今天就以开垦、播种、洒水和收获这四个功能为目标,进行一些简单的实现。首先新建一个unity项目,随便写一个名字我们先看一下摩尔庄园里面的按钮布局,下方是工具或者物品选项栏,右边是选项操作按钮,选中某一个工具或物品,再点击按钮就可以使用该工具。在此之前我们先导入四个unity免费资源包,在商店可以找到在u原创 2021-06-23 17:03:30 · 1303 阅读 · 0 评论 -
Photon PUN刷新大厅房间列表
引言在早些时候,我写过一篇《使用Photon PUN创建简单对战游戏》的联机教程,这篇教程只是很简单的实现了更新房间、创建房间、加入房间的功能,其中还有很多的BUG,需要进行修复。最近因为要用到Photon PUN这个插件,所以又进行了一些探索,今天主要是针对更新房间这个操作进行进一步实现,如果想看原生的官方教程,可以查看Photon官网。初始准备前期的准备可以参考我之前的那篇文章,今天主要是针对房间更新这个BUG进行修复。为了有更好的联机服务,我也向Photon的中国光子云申请了中国区APPid,申原创 2021-06-21 13:42:27 · 1943 阅读 · 1 评论 -
恶性BUG:unity MySQL导出出现1252
恶性bug解决,Encoding 1252 data could not be found. Make sure you have correct international codeset assembly installed and enabled添加以下三个文件:原创 2020-11-23 18:47:15 · 620 阅读 · 0 评论 -
HTC Vive Cosmos开发——手柄按钮事件
1.环境配置htc vive cosmos的环境配置原创 2020-10-07 10:10:45 · 4502 阅读 · 8 评论 -
unity截图保存在手机
直接上代码using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;using UnityEngine.UI;public class ScreenShot : MonoBehaviour{ //这个相机是用来截屏的,相机的Claer Flags 的属性选择为Depth Only public Camera Camer原创 2020-07-19 17:03:45 · 393 阅读 · 0 评论 -
使用Photon PUN创建简单对战游戏
photon PUN是一款用于实现联网对战的插件,原创 2020-07-15 13:12:10 · 2670 阅读 · 14 评论 -
PBR材质:基本原理和简单制作
概要:介绍PBR材质的基本原理以及制作一个简单的PBR材质原创 2020-06-02 13:53:43 · 20015 阅读 · 1 评论 -
使用unity进行机器学习时遇到的错误集锦
1.遇到如下dll文件消失找到CUDA的安装目录,改几个文件改成缺失的文件就可以,比如cublas64_10.dll缺失,可以找这个cublas64_100,改一下就可以用。原创 2020-05-26 21:14:42 · 215 阅读 · 0 评论 -
unity实现简单的音乐可视化
参考我的教程:使用Unity进行音乐可视化(超超基础教程)原创 2020-05-18 11:53:59 · 1334 阅读 · 0 评论 -
unity使用Mysql进行数据增删改查
要在unity里面进行MySQL的使用,最先要考虑的就是版本问题,笔者这里用的是2019.4.13中国增强版,MySQL文件使用的是8.0以上的,安装MySQL,创建并且启动服务,这个步骤我就不多说了,打开MySQL的工作面板,如下:然后还有一个比较重要的步骤是,找到MySQL安装目录,一般在C:\Program Files (x86)\MySQL\Connector NET 8.0\Asse...原创 2020-01-08 16:27:41 · 3911 阅读 · 2 评论