Unity
achonor
早起的虫子被鸟吃..
展开
-
Unity Behavior Designer(行为树)Abort Type(中断类型)
我的理解:正常情况下组合任务中的子任务运行完之后只有等到Restart之后才会再次运行,但是当组合任务设置了Abort Type(中断类型)后,子任务的OnUpdate仍然会继续运行,当子任务的OnUpdate返回值发生变化时就会产生中断,中断当前运行中的任务,回到发生变化的子任务中重新运行子任务None: 不会产生中断Self: 当前组合任务还没运行完,所有子任务的OnUpdate会继续运行,检测是否发生中断Lower Priority:同层且比自身优先级低的任务还没运行完,所有子任务的OnUpd原创 2022-03-02 17:12:40 · 4999 阅读 · 0 评论 -
Unity XR Interaction Toolkit 2.0.0使用方法
项目名称:VR保龄球项目地址:https://github.com/achonor/VRBowlingVR Interaction Toolkit 2.0.0的Demo项目:其中包含移动,传送,旋转,抓取,按键回调的用法原创 2022-02-20 23:43:32 · 4700 阅读 · 0 评论 -
Unity ScreenToWorldPoint精度不够
开发中遇到float精度不够 Vector3 worldPos = mMapCamera.ScreenToWorldPoint(screenPos); Vector3 tempPos = mMapCamera.WorldToScreenPoint(worldPos);上面代码执行后screenPos不等于tempPos ,找了半天发现是float精度不够,最后自己重写ScreenToWorldPoint来解决public Vector3 ScreenToWorldPoint(Vector3 scr原创 2022-01-07 17:56:16 · 3081 阅读 · 0 评论 -
Unity Canvas下的UI坐标转屏幕坐标
public static Vector2 Local2ScreenPoint(this Transform transform, Camera camera, Vector2 localPos) { Vector2 worldPos = transform.TransformPoint(localPos); return camera.WorldToScreenPoint(worldPos); } /// &...原创 2021-12-29 11:44:48 · 2481 阅读 · 0 评论 -
Unity百度地图,支持PC,Android,iOS,支持添加模型,支持卫星图,街道图
目前国内支持Unity的地图只有腾讯地图,但是腾讯地图只有两个月的试用时间,而且相对百度地图,腾讯地图确实有点拉跨,无奈只能自己写地图了**地图原理基于墨卡托坐标,每个经纬度在Unity中都是固定的世界坐标,在地图中添加模型只需要将经纬度转成世界坐标,再把模型设置到位置即可,地图有缓存机制,默认最大容量500MB,可以自行设置,项目刚刚写完出版,有BUG在所难免,发现BUG欢迎留言**github: [https://github.com/achonor/UnityBaiduMap](https://g原创 2021-01-14 22:03:14 · 4509 阅读 · 31 评论 -
Unity Texture图集上Sprite的UV导出
public class BaseEditorWindow<T> : EditorWindow where T : EditorWindow{ protected static void GetWindow() { EditorWindow.GetWindow(typeof(T)); } protected static string GetMouseSelectPath(Rect rect, string defaultPath, bool isR.原创 2020-10-23 10:18:51 · 1422 阅读 · 0 评论 -
Unity 批量提取FBX中的.anim动画文件
private void CopyFBXAnim() { Object[] SelectionAsset = Selection.GetFiltered(typeof(Object), SelectionMode.Unfiltered); foreach (UnityEngine.Object assetFile in SelectionAsset) { AnimationClip newClip = new AnimationClip();...原创 2020-09-21 14:07:50 · 1426 阅读 · 0 评论 -
Unity UGUI 横竖屏切换自适应方案
Demo地址:https://github.com/achonor/ScreenAdapt使用方法1.将AdaptManager挂到场景中2.具体使用可以查看DemoEditor扩展使用1.非运行状态下切换分辨率后点击菜单上的Achonor->ApplyAdaptScreen让UI重新适配屏幕2.继承自AdaptBase的类包含两个属性LandscapeConfig, PortraitConfig分别是横屏配置和竖屏配置,UI调整之后可以在Inpsector中右键对应属性然后点击Copy原创 2020-08-06 14:14:20 · 3363 阅读 · 2 评论 -
Unity UI重复Sprite的处理
Unity中同一张UI图片再项目中多个地方使用,但是Sprite的设置又不相同,一般的做法就是拷贝一张一样的图,但是这种方法会使资源被重复打到包里,增加包体大小还有另外一种比较好的处理方式,就是单独创建一个asset文件引用原图,具体做法如下。1.项目Editor目录下创建一个cs文件,将下面代码拷贝进去using UnityEditor;using UnityEngine;public class Menutools{ [MenuItem("Tools/CopySpriteAsse原创 2020-06-28 11:30:14 · 783 阅读 · 0 评论 -
Unity Android GooglePlay分包obb文件流程
Unity勾选Split Application Binary在Edit->Project Settings->Player->Other Settings->Split Application Binary打包完成之后会出现*.apk和*.obb两个文件安装apk文件重命名obb文件 :main.{versionCode}.{pkgname}.obb 例如 main.1.com.achonor.test.obb复制到:Android/data/obb/{pkaname}.原创 2020-05-28 16:03:22 · 1471 阅读 · 0 评论 -
批处理图片尺寸修改成4的倍数
Unity中使用ETC2压缩格式要求图片尺寸必须是4的倍数,所以写个脚本修改一下尺寸Python要先安装Pillowpip install Pillowimport osfrom PIL import Imagein_dir = r"F:\UnityProjects\Porject"out_dir = r"E:\VineyardValleyImages"file_list = N...原创 2020-04-23 17:15:16 · 2278 阅读 · 0 评论 -
切线空间的法线贴图使用
法线纹理TextureType设置为Normal Map(使用Unity内置的Shader必须设置为Normal Map)设置为Normal Map的贴图在不同平台Unity会采用不同的压缩方式法线的z方向始终为正,法线纹理存储的是单位向量,所以只需要保存法线的x, y方向对法线贴图进行纹理采样后需要使用UnpackNormal来获得真正的法线(DXT5nm格式压缩的纹理a对应x,g对应y...原创 2020-04-19 13:27:04 · 603 阅读 · 0 评论 -
Unity 防沉迷逻辑
1.AntiAddictedController .csusing System;using System.Collections;using System.Collections.Generic;using UnityEngine;namespace Achonor.AntiAddicted{ public class AntiAddictedController : Mo...原创 2020-02-24 17:53:51 · 1907 阅读 · 3 评论 -
win上导出的XCode工程打不开
Mac报错Unity-iPhone.xcodeproj cannot be opened because the project file cannot be parsed找到Unity-iPhone.xcodeproj 右键显示包内容 文本编辑器打开 project.pbxproj文件 找到 shellScript = “\”PROJECTDIR/MapFileParser.sh\”“...原创 2018-06-28 14:57:17 · 595 阅读 · 0 评论 -
简单的Unity toLua框架
设计思路: 全局只创建一个LuaState, 所有lua类都用Table实现 主要文件:LuaScriptManager.cs //lua脚本管理,创建LuaStateLuaBehaviour.cs //让lua控制游戏对象的中间Componentclass.lua //所有lua脚本的基类LuaScriptManager.cspub...原创 2018-08-05 02:34:28 · 501 阅读 · 0 评论 -
TexturePacker Unity json图集拆解
拿大佬的plist代码过来改了一下,向大佬致敬使用python27,python需要安装Pillow,直接使用pip安装即可#!pythonimport reimport jsonimport os, sysfrom PIL import Imagein_path = 'F:/Ball Blast/Assets/TexturePacker/atlases'out_path = '...原创 2019-03-21 10:18:11 · 2901 阅读 · 0 评论 -
Unity记住android签名keystore密码
using UnityEditor;[InitializeOnLoad]public class GlobalConfig{ static GlobalConfig() { PlayerSettings.Android.keystorePass = "文件密码"; PlayerSettings.Android.keyaliasName = "...原创 2019-07-03 10:14:52 · 997 阅读 · 0 评论 -
AI自动行走逻辑
using System;using System.IO;using System.Text;using UnityEngine;using UnityEngine.UI;using System.Collections.Generic;namespace Letang { public class AutoRunning : MonoBehaviour { ...原创 2019-06-27 16:57:39 · 477 阅读 · 0 评论 -
TexturePacker图集转Unity Sprite Multiple
用大佬代码优化:https://blog.csdn.net/salvare/article/details/82712466由于JsonUtility不支持C#中的Dictionary,所以导入第三方库LitJson,下载地址:LitJson.dll,下载完放到Assets\Plugins下代码放到Assets\Editor下使用方法:Texture和json放到同目录下,选中Texture...原创 2019-08-06 10:03:49 · 915 阅读 · 0 评论 -
Unity Scheduler 定时器
创建定时器,多少秒后启动,运行次数, 运行时间间隔using System;using UnityEngine;using System.Collections;public class Scheduler{ public delegate void SchedulerCallback(); private MonoBehaviour target; /...原创 2018-06-26 14:56:43 · 1759 阅读 · 0 评论