
Unity3D
发财猫MoneyCat
爱编程,不爱BUG。
展开
-
【Unity3D自学记录】开发PicoVR之获取手柄的方法
获取手柄有两种方法,一种是XR的方法,一种是PicoSDK中的方法。原创 2022-10-29 11:15:22 · 3580 阅读 · 1 评论 -
【Unity3D自学记录】Editor模式下遍历并赋值
【Unity3D自学记录】Editor模式下遍历并赋值原创 2022-06-11 01:13:14 · 826 阅读 · 1 评论 -
【Unity3D】动态读取txt数据后寻路
using System.Collections;using System.Collections.Generic;using System.IO;using System.Text;using UnityEngine;public class WayPoints : MonoBehaviour{ public static Transform[] wayPoints; public string _dataPath; private List<float>.原创 2022-05-27 20:28:29 · 462 阅读 · 0 评论 -
【Unity3D】统一对场景所有的mesh加碰撞体组件
using UnityEngine;using UnityEditor;public class AddMeshCollider : EditorWindow{ [MenuItem("Tools/添加碰撞体")] public static void Open() { EditorWindow.GetWindow(typeof(AddMeshCollider)); } void OnGUI() { if (GUILay.转载 2022-04-30 22:39:03 · 1003 阅读 · 0 评论 -
【Unity3D】 物体始终朝向目标物体的实现
using UnityEngine;public class LookAtTarget : MonoBehaviour { public Transform target;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () { //当目标对象运动时,始终面向物体 //transform.LookAt(.原创 2022-04-10 16:55:13 · 5722 阅读 · 0 评论 -
【Unity3D】HTC.UnityPlugin 插件的按键
using HTC.UnityPlugin.Vive; private void Start() { //事件注册 // ViveInput.AddClick(HandRole.RightHand, ControllerButton.Pad, OnPadClick); } void OnPadClick() { print("PadClick"); } private void Update()..转载 2022-04-02 12:03:14 · 502 阅读 · 0 评论 -
【Unity3D】Unity声音与录音与麦克风实时播放
Unity AudioSource与MicroPhone以及AudioClip之间的关系。下面是一个声音,长度为7秒钟,声音的实际数据本质是由采样点组成的的列表,一秒钟内的采样点数就是采样频率,下面的采样频率是10,正常实际中是44100,根据需求设置;AudioSource播放声音时,设置其TimeSamples的意思就是从声音的第timeSamples个采样点位置开始播放,因此设置声音的播放的偏移位置的方式是设置timeSamples或者设置time。播放时timeSamples并不是一直固定的,跟转载 2022-03-29 00:20:29 · 4856 阅读 · 2 评论 -
【Unity3D】读取Android SDcard文件
一、添加权限权限添加 :Player settings -- Other settings -- write permission的设置 Sdcard。这个是在Unity编辑器里打包的情况。如果导出到studio 里面的话,可自行修改Manifest文件。二、两种方式IO方式 加载sdcard上的图片资源加载的 /storage/emulated/0/ProjectName/image.jpg,image = this.GetComponentInChildren<..转载 2022-03-28 23:22:39 · 1410 阅读 · 0 评论 -
【Unity3D】DoTween的用法
using UnityEngine;using System.Collections;using DG.Tweening;using UnityEngine.UI;public class TestDoTween : MonoBehaviour{ int number = 0; // Use this for initialization void Start() { //FunctionOne(); //Function.原创 2022-03-21 13:36:48 · 1143 阅读 · 0 评论 -
【Unity3D】Unity3D加载obj格式的模型
创建两个脚本using UnityEngine;using System.Collections;using System.Collections.Generic;public class GeometryBuffer { private List<ObjectData> objects; public List<Vector3> vertices; public List<Vector2> uvs; public List<Vector3&原创 2020-07-24 13:37:12 · 3580 阅读 · 0 评论 -
【Unity3D】Unity3D基于移动端的旋转、缩放功能
其中Obj就是物体。把脚本挂到相机上,然后给obj赋值即可。using UnityEngine;using System.Collections;public class Test : MonoBehaviour{ public GameObject Obj; private int MouseWheelSensitivity = 1; private int MouseZoomMin = 1; private int MouseZoomMax = 5原创 2020-07-24 13:35:56 · 495 阅读 · 0 评论 -
【Unity3D自学记录】Resources加载
创建一个文件夹命名为Resources,将预设好的场景拖入例如Resources中有 A ,B两个预设创建一个脚本using UnityEngine;using System.Collections;public class ResourcesLoadObj : MonoBehaviour{ bool ol = false; private原创 2014-03-04 12:15:43 · 8643 阅读 · 0 评论 -
【Unity3D自学记录】遮挡剔除的简单教程
对于大场景,一定要用上遮挡剔除,要不场景大了,渲染绘制的太多,会很卡。此文章写给新手。首先创建一个简单的场景。一个大的物体挡住后面N多小物体。如图:接下来我们来设置物体的遮挡和被遮挡,一般直接设为Static,但是我建议最好还是自己勾选。先全部选中,然后勾上OccluderStatic和OccludeeStatic,如图:勾选完成后,打开原创 2014-03-11 15:46:14 · 11608 阅读 · 2 评论 -
【Unity3D自学记录】Unity3D之KeyCode键值
Backspace 退格键 Delete Delete键 TabTab键 Clear Clear键 Return 回车键 Pause 暂停键 Escape ESC键 Space 空格键 Keypad0 小键盘0 Keypad1 小键盘1 Keypad2 小键盘2 Keypad3 小键盘3 Keypad4 小键盘4 Keypa转载 2014-03-17 17:58:14 · 2972 阅读 · 1 评论 -
【Unity3D自学记录】用Unity3D发邮件(带附件)
用Unity3D发邮件(带附件),当然要引用了原创 2014-07-15 09:56:32 · 3090 阅读 · 0 评论 -
【Unity3D自学记录】获取WWW下载的进度
首先创建一个WWWObj的类using UnityEngine;using System.Collections;public class WWWOBJ : MonoBehaviour { private WWW www; public string LoadPro; public WWWOBJ(string url) { www =原创 2014-03-04 12:20:01 · 16984 阅读 · 0 评论 -
【Unity3D自学记录】AssetBundles的使用
一共有两种方法下载AssetBundles数据资源:第一种是无缓存:这种方法直接使用WWW类,下载完的数据不会在本地unity3d的缓存目录中进行保存。第二种有缓存:使用WWW.LoadFromCacheOrDownload的方法,下载完的数据将在unity3d的本地缓存目录中进行保存。Web浏览器通常允许缓存大小达到50MB,PC和MAC的本地应用,IOS和Android原创 2014-03-04 11:26:53 · 10514 阅读 · 0 评论 -
【Unity3D自学记录】重要的函数
Update 当MonoBehaviour启用时,其Update在每一帧被调用。LateUpdate当Behaviour启用时,其LateUpdate在每一帧被调用。FixedUpdate 当MonoBehaviour启用时,其 固定时间调用一次Awake 当一个脚本实例被载入时Awake被调用。StartStart仅在Update函数第一次被调用前调用。R原创 2014-03-04 11:31:44 · 6464 阅读 · 0 评论 -
【Unity3D自学记录】将文字复制至系统剪切板
首先呢,我们创建一个脚本public UILabel LabelText;//把UILabel拖给LabelTextvoid CopyText(){TextEditor te = new TextEditor();//很强大的文本工具te.content = new GUIContent(LabelText.text);te.OnFocus();te.Copy();}原创 2014-03-04 11:52:39 · 16193 阅读 · 4 评论 -
【Unity3D自学记录】遍历父物体下所有子物体
using UnityEngine;using System.Collections;public class ResourcesLoadObj : MonoBehaviour{ void Start() { foreach (Transform child in gameObject.transform) { Deb原创 2014-03-04 12:24:03 · 21879 阅读 · 0 评论 -
【Unity3D自学记录】判断物体是否在镜头内
判断物体是否在镜头内。其实很简单的方法代码如下:using UnityEngine;using System.Collections;public class DJH_IsRendering : MonoBehaviour { public bool isRendering=false; private float lastTime=0; private fl原创 2014-03-06 11:32:11 · 10981 阅读 · 3 评论 -
【Unity3D自学记录】组合键的使用
今天来说说组合键。原理也比较简单。代码如下:using UnityEngine;using System.Collections;public class DJH_Event : MonoBehaviour { void OnGUI() { if (Event.current.rawType == EventType.keyDown)原创 2014-03-07 15:50:04 · 10562 阅读 · 2 评论 -
【Unity3D自学记录】解析XML的几种方式
编写一个XML文件如下: 节点01 001 002 节点02 003 004 节点03 005 006 接下来Unity中写代码:第一种方式通过GetElementsByTagName直接获取节点,返回类型是XmlNodeList数组,数组包括了这个节点的所有内容代码如何:using UnityEngine;原创 2014-03-10 16:15:11 · 10478 阅读 · 1 评论 -
【Unity3D自学记录】关于Animation(动画)倒着播放方法
一段动画如何让它倒着播放呢,原理很简单,代码如下:using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour { public GameObject AnimationObj;//带有动画的对象 // Use this for initiali原创 2014-03-12 14:34:00 · 24485 阅读 · 3 评论 -
【Unity3D自学记录】C#语法笔记
条件表达式:y=(x>=0)?(x+2):(x*x); 条件 式1 式2 条件为真执行1否则执行2switch语句switch(测试量){case 常量1:……;break;case 常量2:……;break;case 常量n:……;break;default: ……;break;}循环while(循环条件){//循环体……;……原创 2014-03-12 11:48:37 · 3559 阅读 · 0 评论 -
【Unity3D自学记录】Unity3D游戏开发之跑酷游戏项目讲解
一、游戏策划 游戏采用2D界面,角色从左到右奔跑,在路段中随机生成障碍物和金币,玩家需要使用跳跃功能躲开障碍物,在游戏中玩家收集的金币数目越多,奔跑的距离越长,玩家的得分就越高。我们最终实现的界面效果如图所示,首先我们来讲一下游戏的原理,我们这里这里采用的方法是路段固定,移动摄像机的方法。换句话说,当角色开始移动后,摄像机和场景跟随角色缓缓向右移动。当角色跑完每一个路段距离的2/3转载 2014-10-08 15:24:45 · 3327 阅读 · 0 评论 -
【Unity3D自学记录】利用WinRAR的自解压功能单文件发布Unity的PC版本包
Unity打包出来的PC版有一个exe文件,还有一个_Data文件夹,我们可以利用winrar的自解压的高级设置功能打包成一个单文件,然后给这个文件配置一个好看的图标。最终效果就是我们可以获得一个貌似安装程序的单个文件。首先安装一个winrar文件,360压缩神马的目测是没有自解压的高级功能的。第一步:第二步:转载 2014-11-11 14:49:15 · 3389 阅读 · 2 评论 -
【Unity3D自学记录】简单的鼠标点击控制人物走动
using UnityEngine;using System.Collections;public class PeopleControl : MonoBehaviour { //目标点坐标 private Vector3 mTargetPos; void Start () { } void Update () { //按下鼠标右键时 if(原创 2014-06-24 13:42:10 · 1438 阅读 · 0 评论 -
【Unity3D自学记录】VR插件CardboardSDKForUnity解析(一)
首先是插件的下载地址:http://download.youkuaiyun.com/detail/hackdjh/9843547将插件导入到Unity中,打开下图画圈的Scene,这个就是插件提供的Demo打开场景后,大概就是下图的样子。接下来,我们看看Hierarchy中都有什么。Hierarchy中CardboardMai原创 2017-05-16 16:44:16 · 4159 阅读 · 0 评论 -
【Unity3D自学记录】Unity5之GI设置简介
GI操作: 全局光照的特点在于能够捕捉间接光照,所以5以后,除开原来的direct light的效果,增加indirect light的效果,简单来说,就是除开光源之后,然后模型本身做为光源,幅射到别的模型上,层层递归后的效果。现不管是预计算实时GI还是烘培GI都只是针对静态模型。预计算Gi的实时光源与烘陪对应的烘培光源里的强度与反射强度都会影响幅射图与方向图的内容。需要注意,预计算Gi原创 2016-07-14 13:53:26 · 10424 阅读 · 0 评论 -
【Unity3D自学记录】Unity5之实时GI环境光
快速实时GI环境光 快速实时GI环境光可以用天空盒直接驱动环境光输入。这在环境光每帧都会发生变化的情况下非常不理想。所以替代方法是,由当前时间来控制环境光,并转换为关照渐变和环境光强度用于驱动实时GI系统。这些都可以在光照面板中设置: 更新环境光代码如下:using System; using UnityEngine; using System原创 2016-07-14 13:21:14 · 6915 阅读 · 0 评论 -
【Unity3D自学记录】NGUI控件说明(中文) UICamera
UICamera这个名字不是很合适,保留的原因仅仅是为了兼容以前的版本。UICamera真正做的事情是发送NGUI事件给所有被当前camera渲染的object,camera是UICamera脚本所在的那个。 其实这个脚本做的事情和UI无关。事实上如果你想让游戏里面的object接收OnPress、OnClick、OnDrag等这类事件,你需要把UICamera挂在你的主相机上。转载 2016-07-13 14:26:50 · 2417 阅读 · 0 评论 -
【Unity3D自学记录】鼠标拖拽物体移动
把这段脚本拖给想要拖拽的物体,然后加上碰撞盒就可以了。private Vector3 _vec3TargetScreenSpace;// 目标物体的屏幕空间坐标 private Vector3 _vec3TargetWorldSpace;// 目标物体的世界空间坐标 private Transform _trans;// 目标物体的空间变换组件 private Vector3原创 2016-07-13 10:22:43 · 4322 阅读 · 0 评论 -
【Unity3D自学记录】制作VR视频播放器
最近VR火的不要不要的,但是综合起来,VR资源最多的还是全景图片和全景视频,今天在这里给大家简单介绍一下如何用Unity制作简单的VR视频播放器。首先找到EasyMovieTexture这个插件,AssetStore地址:https://www.assetstore.unity3d.com/en/#!/content/10032导入之后可以看到工程目录里有以下场景转载 2016-07-13 10:19:29 · 14245 阅读 · 12 评论 -
【Unity3D自学记录】Unity5 之 standard参数
Unity5里面采用了一套全新的shader 叫做 standard shader,这套shader使用的就是基于物理的光照计算,而老的那些shaderUNITY已经不推荐使用,UNITY5认为我们大多数情况都应该使用standard shader。下图左面使用的是物理渲染,右面使用的是blinn phone,都用来表现一个很光滑的金属,没上贴图,可以明显的感觉到左侧的真实的多,这就是UNITY5原创 2016-07-13 10:17:17 · 5608 阅读 · 1 评论 -
【Unity3D自学记录】Unity Standard Assets 简介之 Characters
最新的Characters跟之前的不太一样。让很多人头疼啊。这篇介绍Characters资源包。包含三个文件夹:FirstPersonCharacter、RollerBall、ThirdPersonCharacter。 FirstPersonCharacter文件夹: FPSController预设:原创 2016-07-12 14:23:36 · 12419 阅读 · 0 评论 -
【Unity3D自学记录】纯GUI实现黑白棋
直接将下面的脚本随意挂在任何GameObject上即可using UnityEngine;using System.Collections;using System.Collections.Generic;public class Test : MonoBehaviour{ // Use this for initialization void Start()转载 2014-12-04 11:34:43 · 3721 阅读 · 0 评论 -
【Unity3D自学记录】 Unity 延迟执行一段代码的较为优雅的方式
在unity中,延时执行一段代码或者一个方法或者几个方法的情况非常普遍。一般会用到Invoke和InvokeRepeating方法。顾名思义,第一个是执行一次,第二个是重复执行。看下定义:void Invoke(string methodName, float time);第一个参数是方法名(注意是字符串形式),并不是更方便的委托。第二个是延时多少秒。只执行一次。转载 2014-12-04 11:38:11 · 8152 阅读 · 0 评论 -
【Unity3D自学记录】解决NGUI触发事件点透问题
在游戏开发或者虚拟现实开发的时候,会有人物操作的功能,点击地面人物进行行走操作,但是再点击界面按钮的时候,点击事件就触发不了了,这样就是点透,当然也有点击界面按钮同时触发了点地面行走的操作,一样也是点透解决方法如下:原创 2014-11-03 11:51:36 · 2482 阅读 · 0 评论 -
【Unity3D自学记录】导出切片精灵
假设有一张png/tga图集,导入到Unity,放置目录"Assets/Resources/UI"(UI文件夹可替换成其他的,重要的是要在"Assets/Resources/"路径下),默认为如下设置:为了可以使用Unity自带的精灵切割,要将纹理类型改成"Sprite","Sprite Mode"改成"Multiple","Format"改成"Truecolor",点击"Appl转载 2014-10-09 11:02:07 · 2005 阅读 · 0 评论