unity3d
做做游戏而已
这个作者很懒,什么都没留下…
展开
-
unity 如何处理不是2的幂次方的图片
首先要知道为什么untiy中的图片需要是2的N次方第一:底层图形学只识别2的N次方的图片,OpenGL仅支持分辨率为2mx2n的纹理,非2的N次方的图片会转化为2的N次方的图片,这个转化的过程十分耗时第二:ios pvrtc的原因,有些GUP不支持NPOT,遇到NPOT会有一个转换POT的过程,浪费性能解决办法第一:把不规则的图打成图集第二:如果是一些NGUI的texture UGUI的RawImage就尽量的按照最接近的尺寸来做比如123*58那么让美术提供 128*64的图,可...原创 2021-07-08 14:43:44 · 3457 阅读 · 1 评论 -
Unity UGUI 文本背景图片自适应文字内容大小
untiy 学习讨论群184386599先创建一个Image然后在Image下创建一个text在Image上设置对应的组件 选择对应的设置。只是宽度的话就不用选择Height设置text组件此时会发现文本只能从中间开始扩展变化还需要设置一下父物体ImageBgunity 2019可以自动更新,有的版本可能最后还需要在代码赋值文本的时候手动更新一下LayoutRebuilder.ForceRebuildLayoutImmediate(rect); //rect是父...原创 2020-07-08 18:05:09 · 5195 阅读 · 2 评论 -
error CS1704: An assembly with the same name `UnityEngine.UI' has already be unity 迁移版本工程报错
直接关闭工程,找到工程目录删除Library文件夹重新打开就可以原创 2020-05-06 11:13:07 · 943 阅读 · 0 评论 -
C# unity 中实现汉字转拼音
首先下载安装必要的库文件安装后的地址C:\Program Files (x86)\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library在文件夹下放入这几个库文件会遇到unity中打包后,出现 Encoding.GetEncoding("GB2312")...原创 2020-04-27 16:09:56 · 2000 阅读 · 1 评论 -
unity下载网址
https://unity.cn/releases原创 2020-04-22 15:34:22 · 364 阅读 · 0 评论 -
xlua 学习教程 XLua 学习笔记记录
untiy 学习讨论群1843865991:直接去官网下载https://github.com/Tencent/xLua下载解压文件2:创建一个Unity空项目3:选择 xlua-》Assets 下的plugins +xlua 文件 放到Unity工程Assets下直接代码了:里面有全部的注释和遇到的一些问题,有些问题也还不知道原因,可能是版本不兼容先记录一下u...原创 2020-01-21 15:18:59 · 918 阅读 · 0 评论 -
unity 创建C# .cs 新脚本自动添加文件名,作者,创建时间等
第一种方式 :直接找到unity安装路径一层层的找D:\Unity\2019.2.17f1\Editor\Data\Resources\ScriptTemplates 打开81-C# Script-NewBehaviourScript.cs文件打开文件添加自己想要添加的描述#region// ***************************************...原创 2020-01-12 00:55:27 · 1187 阅读 · 0 评论 -
贝塞尔曲线
using System.Collections;using System.Collections.Generic;using UnityEngine;public class BezieTool{ /// <summary> /// 根据T值计算贝塞尔曲线 /// </summary> /// <param name="t...原创 2020-03-30 11:37:25 · 686 阅读 · 0 评论 -
物体加速旋转再减速
private float rotSpeed = 1000; //旋转速度 private float rotState = -1; //旋转状态 -1 停止 0 开始 1 结束 private float endAngle = 0; //结束角度 private readonly float AcceleateTime = 1f; //加速度...原创 2019-12-27 11:31:44 · 1235 阅读 · 0 评论 -
Unity 打包报错 Android Asset Packaging Tool Failed解决方法
因为StreamAssets路径下不能含有带有中文字符文件名的文件去掉就可以了原创 2019-12-12 10:07:05 · 478 阅读 · 1 评论 -
实现一个 自动无限循环滚动的 列表
function UiGameSettings:TempInit() self._ItemData = {"1","2","3","4","5","6","7","8","9","10"} local lenData = #self._ItemData local maxRealInd原创 2018-08-29 09:45:56 · 6629 阅读 · 0 评论 -
unity 同步和异步加载
同步加载读取新关卡后立即切换,其参数为所读取新关卡的名称或索引。Application.LoadLevel ("关卡名或者加载场景的序号")这个方法对于场景小,资源少的情况可以,要是遇到资源大的场景,就会卡,这种情况就要用到异步加载了异步加载Application.LoadLevelAsync("关卡名或者加载场景的序号") 一般会有 进度条异步 优点:速度快,与主线程无关...原创 2019-06-16 22:46:06 · 7478 阅读 · 1 评论 -
Unity LuaFramework_UGUI 框架学习记录 一
1:官网下载LuaFramework_UGUI框架http://www.ulua.org/index.html解压文件打开工程打开工程 报错官网下载LuaFramework_UGUI框架http://www.ulua.org/index.html解压文件打开工程2:打开工程 报错因为选择了webplayer 平台 换一个平台就可以了解决了报错会有一个弹窗 点...原创 2019-07-03 17:35:10 · 535 阅读 · 0 评论 -
Ideal (IntelliJ IDEA) 编辑器如何找回误删除的代码或者文件
Ideal 最好的地方不只是可以跳转函数定义变量等,强大的功能还可以找回误操作删除的代码或者文件找回的前提是没有删除清空ideal 工作路径的缓存1:找回误删除的文件(文件不存在)点击项目工程文件----》Local History ---->Show History点击Show History 会出现当前弹窗 选择要还原的文件 Revert 即可2:还原误删的...原创 2019-07-22 10:23:02 · 5849 阅读 · 7 评论 -
Unity 实现一个单例工具类很简单
有时候会很多地方用到单例类所以写一个工具单例类 很简单using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 单例类的模板类/// </summary>public class Singleton <T> wher...原创 2019-07-31 15:25:55 · 1195 阅读 · 0 评论 -
unity中 在移动平台各种读写文件夹存路径整理 如 StreamingAssets 等文件夹 各个路径在各种平台的文件路径
1.Resources 文件夹少用//资源卸载 /* * Resources.UnloadAsset(obj):卸载非 GameObject类型的资源,会将内存中已加载资源及其克隆体卸载。 Destroy(obj):仅用于卸载GameObject类型的资源的克隆体。 DestroyImmediately(obj):卸载GameObject类...原创 2019-07-31 15:43:57 · 3695 阅读 · 0 评论 -
unity PlayerPrefs 存储类的使用
Unity自带的存储类方法可以存储一些简单的数据PlayerPrefs 直接贴代码吧 untiy 学习讨论群184386599 /// <summary> /// deleteType 为null 或者"" 删除所有的存储信息键值 一般不使用 /// deleteType 不为空删除对应的键值 /// </sum...原创 2019-07-31 15:48:44 · 553 阅读 · 2 评论 -
Unity 存储读写Txt 文本文件与简单的 加密解密方式
1:Unity 存储Txt 文本文件 还是直接贴代码吧 代码里面注释写的都很清楚 良好的注释是很有必要的 /// <summary> /// 创建一个文件夹 /// </summary> /// <param name="path=路径"></param> /// <param name="name=文件名...原创 2019-07-31 15:55:32 · 2612 阅读 · 2 评论 -
unity XML 文件读写添加删除操作
untiy XMl 文件的读写添加删除操作代码有注释直接贴代码 untiy 学习讨论群184386599/// <summary> /// 创建XMl文件 /// </summary> /// <param name="path"></param> /// <param name=...原创 2019-07-31 16:10:52 · 497 阅读 · 0 评论 -
unity面试——C# 进程线程 多线程 协成 定义及区别
1:进程定义:是程序在计算机上的一次执行活动。Windows系统利用进程把工作划分为多个独立的区域,每个应用程序实例对应一个进程。它包含着一个运行程序所需要的资源。进程是操作系统分配和使用系统资源的基本单位。简单来说就是一个启动程序。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。2:线程 命名空间:using System.Threading定...原创 2019-06-04 15:48:33 · 1584 阅读 · 0 评论 -
unity面试——C# Arry ArrayList List之间的区别
1:数组 Array 命名空间:using System优点:内存:连续存储 因此索引速度快 赋值和修改元素简单 时间复杂度为O(1)缺点:因为是分配在连续内存所以要提前确定内存大小 空间的连续导致了存储效率低 插入和删除元素效率低int[] tempArray = new int[4] //定义数组 一定要申请空间 指明数组的长度 只能存储同一种数据类型数据//赋值tempAr...原创 2019-06-03 11:53:41 · 4252 阅读 · 0 评论 -
Unity 中的 3D 数学学习笔记——认识坐标系及坐标系之间的转换
一 :3d空间坐标系 x,y,z 轴z轴方向确定有两种方式 左手坐标系和右手坐标系左手坐标系:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向。右手坐标系:伸开右手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向。3D笛卡尔坐标系:右手坐标系OpenGL:右手坐标系Direct3D:左手坐标系Unity3D:...原创 2019-05-13 17:43:27 · 1748 阅读 · 0 评论 -
unity UGUI 设置文本Text 颜色和大小
<color=#00FF8aFF> 文本啊啊啊 </color><size=50>啦啦啦 </size><size=20>啦啦啦</size>原创 2019-04-15 15:22:05 · 3823 阅读 · 0 评论 -
Unity 获得手机网络状态
-- 网络类型 0.未连网,1.流量,2.WIFI,3.未知网络function GetNetType() local inter = UnityEngine.Application.internetReachability local interType = UnityEngine.NetworkReachability if inter == interType.N...原创 2019-03-01 17:16:56 · 678 阅读 · 0 评论 -
实现聊天框中文本在查看记录的时候有信息发过来不更新到最上端 (王者荣耀聊天样式)
1:--通过计算 sv偏移量NGUI ScrollView 中item 滚动其实就是 ScrollView在滚动 里面的item 位置没有改变sv.bounds.size.y 是ScrollView 的可以显示所有信息的高度 根据item的多少在改变panel.height 显示区域的高度 固定不变在ScrollView 中Panel 中 SoftClip属性下 offset 就是S...原创 2018-09-12 11:08:07 · 1273 阅读 · 0 评论 -
世界坐标 和 本地UI 坐标之间的转换
local worldCamera = CS.FindChild(self.gerScene, 'Camera'):GetComponent("Camera") --世界摄像机 local uicamera = GameObject.Find("UI Root/Camera"):GetComponent("Camera") --UI摄像机 local pos = worldCamer...原创 2018-06-28 17:35:28 · 1350 阅读 · 0 评论 -
ios本地推送
看了雨松的博客,写了这样一个工具类,再lua里面调用using UnityEngine;using System;using System.Collections;#if UNITY_IPHONEusing NotificationServices = UnityEngine.iOS.NotificationServices;using NotificationType = UnityEngine...转载 2018-03-09 20:30:10 · 158 阅读 · 0 评论 -
iphoneX 屏幕适配 NGUI
其实其他UGui也是一样的 (也可以在界面Panel下做一个Widget来做停靠父物体,改Widget大小)1,首先要知道怎么判断是不是iphoneX平台通过SystemInfo.deviceModel获取设备型号,获取的值是形如:iPhone8,1这种。这里有个表:iPhone7,1 iPhone 6 PlusiPhone7,2 iPhone 6iPhone8,1...原创 2018-03-14 19:50:06 · 461 阅读 · 0 评论 -
unity 批量修改预制体
[MenuItem("Tools/ChangePrefabs")] private static void ChangePrefabs() { //路径 string fullPath = Application.dataPath+"/prefabs/"; Debug.Log(fullPath); //获得原创 2017-12-21 17:22:41 · 5582 阅读 · 0 评论 -
Unity 中的 3D 数学学习笔记——认识向量及运算
1:向量 具有大小和方向 也称矢量 向量的大小就是向量的长度,也叫做模。向量的方向描述了空间中向量的指向向量中的数表达了向量在每个维度上的有向位移 2d向量(x,y),3d向量(x,y,z)2:点(Point):点中的数表示了一个位置,它没有大小、方向的概念3:在Unity中,只有Vector2、Vector3类型,没有Point2、Point3类型。 Vector2类型可以用来表示2D...原创 2019-05-20 14:30:51 · 824 阅读 · 0 评论 -
Unity 中的 3D 数学学习笔记——认识矩阵及运算
1:矩阵定义矩阵是一个按照长方阵排列的复数或实数的集合。向量的维度是看向量有几个分量。矩阵的维度则是看它有几行、几列。一个r×c矩阵有r行,c列。即2×3矩阵有2行3列。3×2矩阵则有3行2列。在一个m×n的矩阵A中,有m×n个数,这些数称为矩阵A的元素。数aij位于矩阵的第i行,第j列,称为矩阵A的(i,j)元。矩阵中元素的下标是从1开始的。但是unity 中从0开始在Uni...原创 2019-05-21 10:09:29 · 2187 阅读 · 1 评论 -
unity 和安卓的交互方式 学习笔记 (接SDK等使用)
首先要理解 android 每一个界面 都是一个Activity,untiy apk 所有内容做成一个MainActivity 只有这一个界面。主要有三种方法: 一下生成插件方法基于android studio(eclipse自行测试原理是一样的)1:在MainActivity 中扩展方法2:在安卓中导出一个插件Plugins 导出jar包 aar包3:C#调用原生java方法这...原创 2019-05-11 14:41:25 · 744 阅读 · 0 评论 -
unity面试——lua pair 和ipair 区别
pairs会遍历table的所有键值对ipairs就是固定地从key值1开始,下次key累加1进行遍历,如果key对应的value不存在,就停止遍历tab = {"1", [3] = "3", "2", [5] = "5", [6] = "6"}for k,v in ipairs(tab) doprint(k, v)end输出结果就是:112...原创 2019-06-12 22:36:26 · 429 阅读 · 0 评论 -
unity面试——Lua 实现简单的面向对象
1:实现一个类 简单的面向对象myclass = {} --类instance = {} --类的实例 对象setmetatable(instance,{__index = myclass})2:实现继承3:完整代码myclass = {}--相当于构造方法获得一个类的实例对象function myclass:New(newclass) newclass =...原创 2019-06-05 15:07:01 · 2237 阅读 · 0 评论 -
unity面试——Lua 中 .和: 点和冒号的区别
在lua中使用“:”定义的函数会自动传入一个名为self的变量,这个变量是隐含的,self同c++中的this一样,表示当前对象的指针:而“.”定义的函数中没有self。总结:只有在:内部的函数才有默认self 并且调用也要使用 :调用方式 self就是table自身...原创 2019-06-05 11:37:32 · 1130 阅读 · 0 评论 -
unity面试——Lua 闭包
1:闭包定义在lua里通常讲的函数,其实是指闭包(closure,函数只是闭包的原形(prototype)声明,lua 中的函数能够存储在变量中,存储在表中,能够作为函数的参数传递,能够作为函数的返回值2:词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界闭包是指函数加上函数的upvalue(引用外包函数的局部变量)functio...原创 2019-06-05 10:48:14 · 850 阅读 · 0 评论 -
unity面试——Lua 元表
1:lua 元表(Metatable)为了关联两个表,解决无法对两个table进行操作的问题Setmetatable(table,metatable):对指定的table设置元表(metatable),如果元表(metatable)中存在__metatable键值,setmetatable 会失败。getmetatable(table): 返回对象的元表(metatable)。如何对指定...原创 2019-06-05 10:20:40 · 1205 阅读 · 0 评论 -
Unity 性能优化 学习
1:unity 游戏安装包大,运行游戏卡Unity为什么可以跨平台 因为它内置了mono虚拟机(跨平台) 程序要先在虚拟机运行虚拟机再和操作系统交互 所以包体大运行卡 但是不是一定的原因 (如果没有虚拟机直接游戏运行在操作系统就会快很多)2:Draw Call 越大性能消耗越大 Gpu 相关1:Draw Call 是Cpu对图形绘制接口的调用,Cpu通过调用图形库(direc...原创 2019-05-30 10:22:54 · 462 阅读 · 0 评论 -
图形学基本知识学习整理
什么是渲染流水线(1)好处:把渲染分成多个处理阶段,即子过程。子过程之间相互独立,并发进行互不影响,可以显著的提高效率(2)定义:计算机在渲染的时候,把渲染任务分成了一系列的特定子阶段,这些阶段按照一定的顺序来处理顶点数据,最后生成图像,这些子阶段就构成了渲染流水线。而整个渲染流水线是由Cpu和Gpu共同来完成的 从概念上渲染流程分为三个阶段:应用程序阶段,几何阶段,光栅化阶段。其中...原创 2019-05-30 09:38:19 · 870 阅读 · 1 评论 -
unity ShareSDk 接入遇到的问题
ShareSDK接入的是整个untiy 的包 官方直接包含了android 和 ios 所以只需要写接口和处理打包配置文件就行安卓处理1:android:2:在配置文件里面写回调函数和设置权限 (已经有的直接点击这个就行了)注意修改这个 AndroidManifest.xml微信回调要和包名一样2:微信回调 要根据包名生成不同的DemoCallBack.j...原创 2019-05-11 15:40:12 · 430 阅读 · 0 评论