
unity
文章平均质量分 60
小~小
这个作者很懒,什么都没留下…
展开
-
Unity把日志打印到屏幕上
在DebugDisplay类中,添加一个GUIStyle成员变量来存储文本样式。然后在Start或Awake方法中初始化这个样式,设置所需的字体大小。原创 2024-06-27 15:35:44 · 1065 阅读 · 0 评论 -
Unity udp通信详解
在Unity中实现UDP通信,需要使用C#的System.Net和System.Net.Sockets命名空间。UDP(用户数据报协议)是一种无连接的网络协议,它允许数据包在网络上发送和接收,但不保证数据包的到达顺序、完整性或可靠性。这使得UDP非常适合那些对实时性要求高的应用,如在线游戏和实时通信。首先,你需要创建一个UDP客户端来发送和接收数据。你可以使用UdpClient.Send方法来发送数据。接收数据稍微复杂一些,因为你通常需要在一个单独的线程或协程中进行监听,以避免阻塞主线程。原创 2024-06-27 15:28:09 · 2866 阅读 · 0 评论 -
Unity中使用AVPro Video播放视频的完全指南
Unity AVPro是一款强大的视频播放解决方案,它支持多种视频格式和编解码器,能够在Unity中实现高质量的视频播放。本教程将指导你如何在Unity项目中使用AVPro播放视频。原创 2024-03-19 17:49:15 · 8452 阅读 · 0 评论 -
Unity AssetBundle详解,加载本地包、加载网络包代码全分享
在Unity中,AssetBundle(简称AB包)是一种将多个文件或资源打包到一个文件中的方式,用于优化资源的加载和管理。使用AB包,可以按需加载资源,减少应用的初始加载时间,并可以实现热更新等功能。下面是一个基本的流程,展示如何在Unity中加载AB包并显示其中的资源。原创 2024-03-01 11:23:01 · 1880 阅读 · 0 评论 -
Unity Shader语义
Unity Shader语义原创 2022-09-27 16:18:08 · 740 阅读 · 1 评论 -
搭建NodeJs服务器,利用SocketIO实现:web、服务器、Unity的通信
需求1、unity 链接 socketio 服务器2、网页实时发送信息到 Unity3、实时统计设备数量编写Unity socketIO在 Unity store搜索,socket.io,找到Socket.IO V3 / V4 Client for Unity插件,下载到 Unity。代码如下:using System;using Firesplash.UnityAssets.SocketIO;using System.Collections;using UnityEngine;usi原创 2022-04-12 10:30:39 · 5507 阅读 · 0 评论 -
unity获取obs虚拟摄像头
这里写目录标题1、obs安装虚拟摄像头2、查看电脑有几种摄像头3、错误解决: Could not find specified video device UnityEngine.WebCamTexture:Play()1、obs安装虚拟摄像头https://obsproject.com/forum/resources/obs-virtualcam.539/2、查看电脑有几种摄像头下面代码打印出摄像头名称 WebCamDevice[] devices = WebCamTextu原创 2021-12-28 15:14:04 · 6465 阅读 · 6 评论 -
Unity PlayMaker 和 脚本
PlayMaker 利用 FSM(Finite-state machine)有限状态机,简称状态机,使用有限个状态机,来实现交互设计。基本概念:Fsm、States、Events、Transition、Actions、Variables下面来个例子介绍,如何使用 PlayMaker 跟脚本如何联系到一起。例子11、新建一个 Cube,添加状态机。2、添加事件3、在状态1添加事件...原创 2020-04-01 20:36:58 · 2792 阅读 · 1 评论 -
Unity 十五 UGUI 点击事件
给 UGUI 的Button添加事件目前总结了三种方法。1、点击加号直接添加事件,这种方法是最常用的。这种方法可以添加带参数的函数,但是参数个数最多是1个,如果有两个参数,Unity 不会显示出来。首先写个脚本ButtonClickFIrst,然后把这个脚本挂载 Canvas 上。using System.Collections;using System.Collections.Gen...原创 2019-07-01 14:52:45 · 405 阅读 · 0 评论 -
Unity 十五 UGUI RectTransform 脚本控制
在Unity里可以 Transform 控制3d 物体的移动缩放旋转,那么在 Canvas 里如何设置 transform 呢,可以用 RectTransform,它继承于 Transform。// RectTransform a = this.transform.GetComponent<RectTransform>();//通过获取组件,获取 RectTransfo...原创 2019-06-30 17:04:17 · 1606 阅读 · 0 评论 -
Unity 十五 UGUI 锚点
当做 UI 时,会涉及到不同的分辨率,那么如何匹配这么多不同的分辨率,并且符合我们自己开发的意愿。那么可以通过设置锚点来做。并且每个 UI 元素都可以设置不同的锚点。锚点的设置可以用 Unity 给的几种模式,一般这几个模式已经够了。也可以自己调节 Min,Max 来设置锚点的位置。下面举个例子:新建两个 Button,把他们设置在两个角。如果此时锚点在中间,那么遇到不同分辨率屏幕时有...原创 2019-06-30 16:40:04 · 1390 阅读 · 0 评论 -
Unity 十五 UGUI Canvas
画布有几种模式:1、Overlay,覆盖模式。在这个模式下,画布显示在最高层,如果添加一个3d 物体的话Cube,同时添加一个UI 元素 Button,把他们的位置重合,那么 Button 会覆盖在 Cube上。参数 Sort Order:用于设置 Canvas 的深度。当存在多个画布时,决定谁显示在最前面,这个值越大,就越显示在前面。2、Camera,相机模式在这个模式下,画布不在是...原创 2019-06-30 16:12:01 · 298 阅读 · 0 评论 -
Unity 十四 射线三
Unity 另外一个方法Camera.main.ScreenPointToRay(Input.mousePosition)射线起始点:相机Camera;射线终点:鼠标的位置。这个方法把屏幕的像素点转换为了3d 世界的坐标,跟3d 世界的Camera间形成了一个射线。用该方法写了一个例子,鼠标点击屏幕上的物体,物体便会更改颜色。using System;using System.Colle...原创 2019-06-24 17:47:13 · 190 阅读 · 0 评论 -
Unity 十四 射线二
Unity 里有两种射线,一个不可以穿透物体的射线Physics.Raycast,如下图,射线被胶囊体挡住。一个可以穿透物体的射线Physics.RaycastAll,该方法可以检测所有射线碰撞的物体两种方法分别写了一个例子。Physics.Raycastusing System.Collections;using System.Collections.Generic;usi...原创 2019-06-24 17:30:29 · 237 阅读 · 0 评论 -
Unity 十四 射线一
Unity 提供了射线功能。射线最简单的代码,设置两个物体,一个物体发出射线,另外一个物体接受射线。其中重要的方法Physics.Raycast,这个参数种类有很多。先用三个参数的。第一个参数代表:新建的射线,第二个参数代表:射线的碰撞体(注这个参数要带 out)。第三个参数代表射线的距离。using System.Collections;using System.Collectio...原创 2019-06-21 18:11:55 · 225 阅读 · 0 评论 -
Unity 十三 碰撞条件
在 unity 里面要想实现碰撞,需要满足两个条件。两个物体都具有碰撞组件。运动的组件拥有刚体。对于第一条:碰撞组件有很多, 针对不同的形状有不同的Collider 。其中 Box Collider 是六个面针对的是立方体等,如果不算2d 的 Collider,Box Collider 的面数是最少的,下面还有Capsule Collider 胶囊体,Sphere Collider 球体...原创 2019-06-17 16:15:13 · 3246 阅读 · 0 评论 -
unity十二 刚体
一、刚体 Rigidbody 参数简介。Mass:质量Drag:组里。当游戏对象受力运动时受到的空气阻力。0表示没有空气阻力,阻力极大是游戏对象会立即停止运动。Angulular Drag:角阻力。当游戏对象受扭矩力旋转时受到的控制阻力。0表示没有空气阻力,阻力极大时游戏对象会立即停止旋转。Use Gravity:使用重力。若开启此项,游戏对象会受到重力的影响。Is Kinematic:...原创 2019-06-14 16:01:04 · 1490 阅读 · 0 评论 -
Unity十一 向量
这里不多介绍关于向量的加减乘除的原理,只是介绍 Unity3d里关于向量的给好的方法和属性,利用这些方法和属性我们就可以得到向量加减 叉乘点乘 除法的计算。1、获得向量的大小,在 Unity 中给出了两个方法。通过magnitude属性,得到向量的大小。通过 Vector3.Magnitude方法,得到向量的大小。 Vector3 a = new Vector3(3, 4...原创 2019-04-02 11:31:49 · 680 阅读 · 0 评论 -
Unity十Input类
Input类可以获取外部操作,鼠标操作,键盘操作等。鼠标输入:1、mousePostion :鼠标在屏幕中的位置,左下角为(0,0)的位置,右上角最大。Input.mousePosition2、GetMouseButtonDown 鼠标按下 0为左键,1为右键,2为中间键。返回值 Bool 类型3、GetMouseButtonUp 鼠标按键抬起。4、GetMouseButton 鼠标一...原创 2019-04-01 00:17:13 · 375 阅读 · 0 评论 -
Unity九 Rotate
Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);默认沿着自身坐标系进行旋转。当然也可以设置为沿世界坐标系旋转。可以用左手拇指指向坐标轴的方向,然后握拳,握拳的方向就是旋转的方向。1、沿世界坐标 z 轴旋转 transform.Rotate(Vector3.up * Time.deltaTime, Space.World)...原创 2019-03-31 16:09:39 · 938 阅读 · 0 评论 -
Unity八 translate、transform.forward、Vector3.forward
transform.Translate(Vector3.forward*Time.deltaTime);沿着自身坐标系的 z 轴向前移动。注意时自身坐标系 transform.position+=transform.forward * Time.deltaTime;沿着自身坐标系的 z 轴向前移动。注意时自身坐标系transform.position +=Vector3.forward...原创 2019-03-31 15:33:30 · 1242 阅读 · 1 评论 -
Unity七世界坐标系跟自身坐标系
此处点击即可切换世界坐标系和自身坐标系,那么世界坐标系跟自身坐标系有什么不同。旋转物体就可以看出不同:世界坐标系,不会变,x,y,z,都是固定的方向自身坐标系,会随旋转而改变自身坐标系。...原创 2019-03-31 15:05:09 · 3374 阅读 · 0 评论 -
Unity六Time.deltaTime和 transform 二
Time.deltaTime距离上一帧执行的时间间隔。作用:1、控制移动速度2、 解决 Update 方法中由于帧率的影响导致每一帧移动时时间不相同的情况。transform.Translate移动 float Speed;//设置一个速度 // Use this for initialization void Start () { Speed = 0.1f;...原创 2019-03-31 14:47:17 · 294 阅读 · 0 评论 -
Unity五 Transform 一
Transform 获取的几种方式一、先获取 GameObject 在场景中,然后再获取 transfomr1、GameObject a = GameObject.Find()—>a.transform2、GameObject b = GameObject.Find()—>b.GetComponent()二、直接挂载在相应的对象上当脚本直接挂载在相应的对象上时,可以直接拿到 ...原创 2019-03-31 10:27:15 · 1023 阅读 · 0 评论 -
unity 四 GameObject
GameObject 下有三个比较常用的方法:1、GameObject.FindGameObject.Find(string name),参数为字符串类型,找到的是游戏对象的 name,比如下面的 plan。返回的是一个 GameObjectGameObject a = GameObject.Find("Sphere")//从整个场景中找 name 为 Sphere 的游戏对象,如果有多个重...原创 2019-03-31 10:24:01 · 558 阅读 · 0 评论 -
unity三游戏脚本执行顺序
同一个游戏对象上拖动多个脚本脚本执行顺序:1、最先拖到游戏对象的脚本,最后执行。2、最后拖到游戏对象的脚本,最先执行多个游戏对象多个脚本执行顺序:1、最先拖到游戏对象的脚本,最后执行。2、最后拖到游戏对象的脚本,最先执行总结不管是单个还是多个游戏对象,都是一样的规律。即使后面多次更改文件,执行顺序还是根据你的拖动顺序来确定执行顺序得。问题真正开发的时候不可能注意程序的拖动顺序,那...原创 2019-03-29 10:40:48 · 513 阅读 · 0 评论 -
unity学习二生命周期方法
生命周期awake1、整个生命周期最先被调用的方法2、当脚本被加载到场景中时,自动调用该方法3、这个方法会被执行一次OnEnable1、当脚本被激活时调用该方法2、该方法会被调用一次Start1、初始化操作2、会被调用一次OnDisable1、将脚本设置为不可激活状态或不可用状态2、该方法调用一次OnDestroy1、脚本被销毁时调用该方法OnDisable会先调用...原创 2019-03-28 15:34:40 · 318 阅读 · 0 评论 -
Mac unity 导出 exe
mac如何导出 window 的.exe 应用,网上不知道为什么搜不着,索性,我弄出来了,分享出来。1、打开file-》build setting,然后切换windows平台,此时发现,只有一个选项,怎么办,如何下载。难道要重装,不用重装 unity,只需安装我们需要的就可以。2、我的 mac 上装了两个版本的 unity,打开应用程序,首先需要修改文件夹名。把文件夹名改为 Unity,因为...原创 2019-01-10 11:09:02 · 5977 阅读 · 4 评论 -
unity oss上传文件
今天研究了下在 unity 下做的 oss 上传,感觉应该分享下。下面是官网的链接文档https://help.aliyun.com/document_detail/91093.html?spm=a2c4g.11186623.6.908.1c712fc0rB0SQB官网给的例子using Aliyun.OSS;var endpoint = &quot;&amp;lt;yourEndpoint&amp;gt;&quot;;原创 2018-11-02 10:39:39 · 2770 阅读 · 10 评论 -
unity工具栏Pivot与Center的区别
Pivot:该游戏对象(不包括子对象)的中心。 Center:该游戏对象(包括子对象)的中心。转载 2018-08-18 17:26:53 · 670 阅读 · 0 评论 -
Mac 查找LoadFromCacheOrDownload缓存的位置
从网上搜了好长时间,记录下来。cd ~/Library/Caches/Unity/open .然后找到你的项目的目录,就可以查看了。原创 2018-08-10 13:35:01 · 790 阅读 · 0 评论