自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (10)
  • 收藏
  • 关注

原创 Unity MonoBehaviour 和ScriptableObject序列化字典Dictionary

官方文档有个MonoBehaviour的字典序列化,但不能用。​​​​​​UnityEngine.ISerializationCallbackReceiver - Unity 脚本 APIusing UnityEngine;using System;using System.Collections.Generic;public class SerializationCallbackScript : MonoBehaviour, ISerializationCallbackReceiver{

2022-03-01 14:37:55 5346

原创 根据物理公式在Unity中实现抛物线运动.3

上一篇文章实现了到指定点的抛物线运动。但是,在水平方向是匀速运动的。但实际炮弹应该是在水平方向是匀加速运动的。因此水平方向的速度不能是距离除以时间。而应该是根据距离公式得出s=Vi*t+0.5*a*t^2=>Vi=(s-0.5*a*t^2)/t float dis = Vector3.Distance(targetPos, transform.position); //s=Vi*t+0.5*a*t^2=>Vi=(s-0.5*a*t^2)/t volocityX = (

2021-12-30 15:16:25 2115

原创 根据物理公式在Unity中实现抛物线运动.2

上一篇文章,确实是模拟了抛物线运动,但是并不能很好的控制。比如一种应用场景,指定地面上的目标点,让炮弹根据抛物线轨迹准确的落到目标点上。要实现这个需求,需要两个已知条件,仰角的角度,炮弹飞行的时间。1.算出和目标点的距离,因为水平方向是匀速运动,已知飞行时间,可以算出水平方向的速度。 dir = (targetPos - transform.position).normalized; transform.LookAt(targetPos); float dis = Vector

2021-12-30 15:10:34 3441 2

原创 根据物理公式在Unity中实现抛物线运动.1

说明下应用场景已知炮台的仰角是30度,在仰角方向的速度是10m/s, 实现抛物线运动。物体的抛物线运动,可以将仰角方向的速度分解成水平方向和垂直方向。已知仰角方向的速度,和角度,可以根据三角函数可以计算出水平方向的速度和垂直方向的速度。在水平方向的速度是匀速运动,而在垂直方向是重力加速度的自由落体运动。具体实现如下:1.分解仰角方向的的速度为x方向和y方向 volocityY = Mathf.Sin(Mathf.Deg2Rad * angle) * volocity; voloc

2021-12-30 14:59:11 3693

原创 使用Quaternion.AngleAxis和Quaternion.Euler实现目标点绕某点旋转

target 是目标点Vector3org 是自身点Vector3-45f是旋转的角度Vector3.up是绕y轴Vector3 pos = Quaternion.AngleAxis(-45f, Vector3.up) * (target - org) + org;也可以是Vector3 pos = Quaternion.Euler(0f, -45f, 0f) * (target - org) + org;Quaternion.Euler 和Quaternion.Angle.

2021-09-05 14:20:53 1649

原创 Unity Physics.OverlapCapsule的使用

Unity Physics.OverlapCapsule这个函数判定胶囊中有多少碰撞体。Collider[] OverlapCapsule(Vector3 point0, Vector3 point1, float radius, int layerMask);第1,2个参数是胶囊的底部和顶部球心坐标。这里有个坑,传入的时候不是获取的CapsuleCollider自己的中心和CapsuleCollider的高度的运算。因为CapsuleCollider.center是本地坐标。我在使用时用的用的

2021-08-25 10:44:42 3007

原创 Unity碰撞和碰撞检测

带碰撞效果用OnCollisionXXOnCollisionEnter(Collision col)OnCollisionStay(Collision col)OnCollisionExit(Collision col)发生碰撞的条件:主动方必须有Rigidbody,发生碰撞的两个游戏对象必须有Collider,被动方对于RigidBody可又不可无,参数是表示被动方。所谓带碰撞效果是指有物理效果,比如碰了要发生位移之类的。只是检测用OnTriggerXXOnTriggerEnt

2021-08-24 07:42:42 1399

原创 Unity行为树插件Behavior Tree Designer记录.Variable Synchronizer(变量同步)

Behavior Tree (BT)的变量Variable是用于Tree和Task之间通讯的重要手段。Variable Synchronizer主要是用于非Behavior Tree和Behavior Tree之间通讯的一种方式。帮助文档中有一个例子主要用于动画和Behavior Tree之间的通讯。表示了一个很重要的思想“并不推荐将动画同步去达到BT控制动画的目的,而是用使用同步那些能控制动画的变量”。可以推广下,类似的还有,比如说用于碰撞检测,并不是要把碰撞组件拿去同步,但可以去同步碰撞的结果。

2021-08-23 17:26:36 725

原创 Unity行为树插件Behavior Tree Designer记录.Decorator装饰5

The task guard task is similar to a semaphore in multithreaded programming. The task guard task is there to ensure a limited resource is not being overused.For example, you may place a task guard above a task that plays an animation. Elsewhere within your.

2021-06-08 07:13:44 365

原创 Unity行为树插件Behavior Tree Designer记录.Decorator装饰4

Interrupt中断The interrupt task will stop all child tasks from running if it is interrupted. The interruption can be triggered by the perform interruption task. The interrupt task will keep running its child until this interruption is called. If no interru

2021-06-03 06:43:34 567

原创 Unity行为树插件Behavior Tree Designer记录.Decorator装饰3

Parent Tasks Parent Tasks are the composite and decorator tasks within the behavior tree. While the ParentTask API has no equivalent API to Unity’s MonoBehaviour class, it is still pretty easy to determine what each method is used for. // The ma...

2021-06-03 06:19:01 441

原创 Unity行为树插件Behavior Tree Designer记录.Decorator装饰2

ReturnFailureThe return failure task will always return failure except when the child task is running.在

2021-06-02 07:05:26 327

原创 Unity行为树插件Behavior Tree Designer记录.Decorator装饰1

ParParent Tasks are the composite and decorator tasks within the behavior tree. While theParentTask API has no equivalent API to Unity’s MonoBehaviour class, it is still pretty easyto determine what each method is used for.// The maximum number of ch

2021-06-02 06:46:27 412

原创 Unity android 动态权限申请

1.写一个active的java文件2.把Active配置到AndroidManifest.xml3.把需要的动态申请的权限添加到AndroidManifest.xmlYourClassName.Java文件放在Plugins/Android/下package com.YourPackagename;import com.unity3d.player.*; import java.util.ArrayList;import java.util.List;import andro

2021-05-26 17:56:42 483

原创 Unity android 报错 XmlException: ‘tools‘ is an undeclared prefix. Line 24, position 15

当在AndroidManifest.xml加了tools:replace="android:networkSecurityConfig" android:networkSecurityConfig="@xml/network_security_config_unity" <application tools:replace="android:networkSecurityConfig" android:networkSecurityConfig="@xml/networ...

2021-05-26 16:21:30 1271

原创 unity android编译报错 Did not find four digit hex character code. line: xx col:xx

经过测试unity2018.4.10有这个问题,而unity2018.4.34没有。原因是在于文明的gradle文件中有这样行def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")但在unity的某些版本中DIR_UNITYPROJECT 目录的分割符就是\ 然后我们的项目路径正好有个目录是u开头,比如xx\u3dproj\xx\....这样编译时java那边就没有办法正确解析,因为\u刚好是一个有意义

2021-05-23 13:43:24 373 5

原创 关于已上发布app,升级admob后,激励视频返回code=3 message=“No ad config“

关于这个错误官方有说明https://support.google.com/admob/thread/3494603/admob-error-codes-logs中Error Code 3 : ERROR_CODE_NO_FILL 章节。官方对这个错误解释,就是没有广告分配,如果你的广告后台设置没有问题的话,这属于正常现象。但问题在于,app已经发布很久了,线上下载的app 激励视频播放正常。只是线下准备升级admob的开发版出现这个错。所以这个问题并不在官方解释的范围内。忽然想到一个问题,因为是升.

2021-05-23 10:35:20 3876 3

原创 Unity 集成admob 出错AAPT: error :unexpected element <queries> found in <manifest>

现在应该是搭配unity的 android studio 版本是4以上都会有这个问题,主要gradle版本导致,可参考https://stackoverflow.com/questions/62969917/how-to-fix-unexpected-element-queries-found-in-manifest-error/62969918#62969918解决方案我用这边是Unity2018.4.34把工程中Plugins/Android/mainTemplate.gradle里面的

2021-05-23 00:51:30 1534 2

原创 Unity行为树插件Behavior Tree Designer记录.组合(Composits)的AbortType理解

Composits有个中断参数,AbortType四个值,AbortType.None很好理解,就是没有中断。Lower Priority中断低优先级要想清楚这个意思,先得明白低优先级是什么,在这里低优先级是在节点右边的节点。这个行为树启动前,Sequece的AbortType被设置成None,C_Test的c被设置成false,这样C_Test返回失败,父节点Sequence也返回失败,那么Selector只有去执行Idle运行后也就是Log并没执行到。那假设有这样一种情况,在I

2021-05-15 19:20:42 1213

原创 Unity行为树插件Behavior Tree Designer记录.Movement的CanSeeObject

意如其名,这个做为一个行为树的判定行为节点,判定目标是否能被行为树的“主人”看见。之所以写因为这个Conditional很实用,官网帮助文档上作为范例来写。但很遗憾,先后再两个两个地方看到官方的两个bug。第一个地方在官网的pdf文档和官网的在线文档中https://opsive.com/support/documentation/behavior-designer/writing-a-new-conditional-task/这两地方都有一个CanSeeObject的简化版本。我只摘抄bug的部分

2021-05-15 16:35:44 904

原创 Unity中打开商店评分评价

APIApplication.OpenURL(url);安卓的urlGoogle Play"market://details?id=PackageName"华为"appmarket://details?id=PackageName"vivo"vivoMarket://details?id=PackageName""tmast://appdetails?pname=PackageName";//应用宝直接下载"http://market.android.com/details?id..

2021-05-10 16:45:54 12241 8

原创 Unity官方Animator经典学习范例MecanimGDC2013学习笔记

1.Animator.MatchTarget在Action.cs中处理在地上滑动(slider)和跳过障碍(vault)时用到。这个函数主要是解决在某些动画在执行时候会穿模的问题。相当于提供Unity提供这样一个函数来让程序根据情况来自己调整可以参考http://www.manongjc.com/article/112632.htmlhttps://www.cnblogs.com/chongxin/p/4104441.html...

2021-04-24 10:16:33 614 2

原创 开发环境配置(不定期更新)

1. vs为什么自动变成深色https://blog.csdn.net/clington/article/details/1027031142. win git安装https://jingyan.baidu.com/article/e52e36154233ef40c70c5153.html

2021-04-11 10:06:05 103

原创 批量去掉C#代码去掉注释和空行

使用vs的查找替换功能即可去掉注释第一步:打开vs2010,使用Ctrl+H快捷键,打开查询替换窗口第二步:在‘查找选项’中,勾选‘使用’‘正则表达式’第三步:在‘查找内容’中,填写正则表达式[\t]*//[^\n]*第四步:‘替换为’空,什么都不填写第五步:单击‘全部替换’按钮,完成整个项目或者当前文档等替换去掉多余的空行重复上面的步骤只是把正则表达式改为^\s*\n...

2021-02-28 17:00:51 1645 1

转载 升级xcode后unity打包ios工程报错iOS framework addition failed due to a Cocoapods installation failure

最近升级的xcode,原来打包ok的报错了iOS framework addition failed due to a Cocoapods installation failure. This will will likely result in an non–functional Xcode project需要重新装cocoapods,参考https://blog.csdn.net/iningwei/article/details/106769933中途可能会遇到Could not.

2020-12-13 14:37:28 974

原创 Dots杂项(不定期更新)

1.如何在Burst中输出日志?float angle = 30f;Debug.Log($"angle = {angle}");burst 升级到 1.3.9参考:https://docs.unity3d.com/Packages/com.unity.burst@1.3/manual/index.html?_ga=2.178798564.1138340273.1602220910-764600653.1593147341#partial-support-for-strings-and-debugl.

2020-10-09 18:57:35 359 2

原创 Unity官方DOTS示例学习笔记(五)5.SpawnFromEntity

1.存着的价值https://docs.unity3d.com/Packages/com.unity.entities@0.14/manual/entity_command_buffer.htmlTheEntityCommandBuffer(ECB) class solves two important problems:When you're in a job, you can't access theEntityManager. When you perform astructur...

2020-10-06 17:47:40 962

原创 Testflight 上传报错:No suitable application records were found. Verify your bundle identifier

刚建的id和profile,步骤还是以往的方式,真是熟悉的配方,不同的结果。突然想起用Testflight上传,必须先在Connect 里建一个APP.转去Connect建了一个APP,马上就上传成功了。这时Connect建App,不需要完整信息,填一些基本的信息,比如app名字之类。...

2020-09-26 18:30:27 601

原创 UGUI加载Texture2D

Image imgPhotoimgPhoto.material.mainTexture = texture;这种是错误的方法,因为这样会损坏整个材质,导致其他用到的材质会出问题。推荐两种方式1.还是用Image, 然后用Sprite把Texture2D加载 Image imgPhoto; Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), n...

2020-09-26 18:26:16 538

原创 Appstore发布上传预览视频

1.如何录制屏幕需要用把iphone(ipad)用USB线连到mac book 上,具体步骤如下,需要注意的是,需要选一下设备,否则默认是用mac的摄像头的在录。下面步骤是直接从苹果官网copy的。https://developer.apple.com/support/app-previews Connect your iOS device to your Mac with a Lightning cable Open QuickTime Player Choose File

2020-09-19 18:45:54 1197

原创 Unity的iOS工程在XCode中使用模拟器详细步骤(2020-08-09)

1.为什么有这个需求,模拟器调试不是很慢吗?是的,确实很慢。如果要调试还不如选择真机调试。我用这个的目的不是为了调试,而是因为在AppStore上发布游戏,需要上传不同型号的iOS设备的游戏截图,而我手里也没那么多的设备。2.Unity中导出XCode工程(1)PlayerSetting-Other Setting中将TargetSDK设置为Simulator SDK。默认是Device SDK,也就是打真机包。(2)OtherSetting,取消勾选Auto Graphics API,并

2020-08-09 08:35:00 3425

原创 IOS 打包上传报错:You must be an Admin or Technical user in order to deliver content or metada.(1070)

昨天都还能上传,今天就报这个错。我删除Xcode中其他账号(XCode->Preference->Account)后问题得以解决。原因分析我Xcode中(XCode->Preference->Account)有三个号, 其中一个号是那种普通apple id(就是那种登陆App Store 下载App的那种), 以前我用来真机调试的。这种Apple id 可以真机调试,但不能用于发布,严格来说不算是开发者账号。并且我的这台mac上的appstore等也是用的这个apple id

2020-08-02 22:53:41 1253 1

原创 Unity2019LTS版本终于来了

原计划今年春季来的稳定版终于在夏季来了。按Unity一贯delay一个季度的习惯来说,这也算是按时到来。 个人觉得Unity2019是一个分水岭,一方面一些问题的“最优解”会相较之前有较大的变化,不是简单的一个升级。可以说是革命性的,方式方法上的。另一方面,学习成本也直线上升。我们虽然还可以认为Unity是容易上手的,但是如今Unity里的一些在不久以后必须掌握的技能点恐怕已经不能称为容易了。可能连易于上手难以精通都不是。 最后还是有点小失望,很期待的...

2020-06-21 21:29:57 5065

原创 FingerGestures V3.1 判断点击是否在UI上(UGUI)

bool IsFointOnUI(int fingerIndex, Vector2 position) { if (Input.GetMouseButtonDown(0) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)) { //屏幕触摸触发#if UNITY_EDITOR...

2020-05-31 22:26:16 372

原创 解决FingerGestures V3.1在部分安卓机型上出现异常的bug

FGTouchInputProvider.csUpdateFingerTouchMap 函数替换成如下 void UpdateFingerTouchMap() { for( int i = 0; i < finger2touchMap.Length; ++i ) finger2touchMap[i] = -1; if (Input.touchCount != Input.touches.Length) { string.

2020-05-15 10:40:57 574

转载 iOS苹果开发者账号-企业账号、公司账号和个人账号的区别

苹果开发者账号主要分为3类:个人(Individual)、 组织(Organizations)、 公司(Company) 企业(Enterprise) 教育机构(Educational Institutions)。所以基本会分为3种:个人账号,公司账号和企业账号。1、 个人账号:(1)费用:99美元一年(2)App Store上架:是(3)最大udid支持数:每种设备各100台,续费时可以从新编辑(4)协作人数:1人(开发者自己)(5)该账号在App Store销

2020-05-13 13:36:20 4324

原创 GooglePlay 发布问题汇总

1.正式版和beta版是否可以同时存在?可以。签名一致,包名一致,但版本号得不同2.如果制作隐私声明网页?3.如何测试内购?

2020-05-13 10:52:19 1501

原创 GooglePlay Console语言设置

GooglePlay Console的语言设置是在Google账号里设置。设置好后除了能在GooglePlay Console里用之外,还能在访问support.google.com 或者developers.google.com访问的网页中首先使用你的设置语言,如果没有就显示英文。1.浏览器打开www.google.com 在右上角点击你的Google账号2.点开管理账号3.点管理数据和个性化4.拉到语言设置5.点箭头对语言排序,或者增加语言...

2020-05-11 21:54:58 13746 2

原创 Admob激励视频广告(rewarded ad)的服务器端验证(server-side )的疑问

刚开始看官方文档,很容易理解。就是说你自己搭建一个web server,并能接受admob给你规定的参数格式,你根据自己的web server收到的admob给你请求来判定是否给与用户奖励(看完广告)。 理解完以后,顿时觉得很困惑,难道接激励视频广告还得自己架设一台服务器? 官方SDK的回调事件RewardedAd.OnUserEarnedRewa...

2020-05-08 13:35:01 4407

原创 Admob设置Android设备为测试设备(2020年5月7日亲测有效)

本来以为很简单,结果还是遇到了坑这是官方帮助文档截图结果发现logcat上并没有 这样字样I/Ads: Use AdRequest.Builder.addTestDevice("33BE2250B43518CCDA7DE426D04EE232") logcat实际的输出和这个类似,但不是上面这个05-06 19:36:05.680 2743 2743 I Ad...

2020-05-07 16:23:44 4044 1

Unity-Logs-Viewer-master.zip

Unity 免ADB真机日志查看插件分享Unity Logs Viewe。详情参看https://blog.csdn.net/wuming2016/article/details/90609787

2019-05-28

翻牌Shader.zip

Unity UGUI 实现翻牌效果的Shader, 说明参考https://blog.csdn.net/wuming2016/article/details/90545169

2019-05-25

地形分割和Lightmap分割

Unity的Terrain分割,分块后的各Terrain各自保存自己的Lightmap信息。

2019-04-20

Unity动态加载LightMap(2)

动态加载lightmap,当场景比较大时,场景中的静态物件是逐步加载的。因此每个物件要单独存储自己的lightmap信息。

2019-04-19

Unity动态加载LightMap(1)

动态加载LightMap。需要事先烘焙好lightmap,并保存。

2019-04-19

c#实现unity下可用的http多线程下载

c#实现unity下可用的http多线程下载。主要是WWW接口的bundle函数不好用,而且性能也不高。支持多线程。支持单个文件和多个文件下载

2019-04-18

NavMesh2D去Linq修改和说明文档

很好用的Unity2D寻路插件NavMesh2D,去Linq修改和说明文档

2019-03-02

unity官方2d教程源码2D Platformer.unitypackage

unity官方2d教程源码2D Platformer.unitypackage。很好的学习unity2d的范例

2019-03-01

Unity中指数函数实现越来越快或者越来越慢的变化控制

有时需要这样的效果:UI的数字从一个值变化到另一个值,是一个不断增大的过程,而且是一种由慢变快的过程。就实现这种效果来说,可以DoTween这类组件实现,也可以用unity的曲线AnimationCurve实现。这里说的是另外一种方式,就是自己实现指数增长变快的过程。

2019-02-27

人工智能编程案例精粹配套源码Programming-Game-AI-by-Example

人工智能编程案例精粹配套源码Programming-Game-AI-by-Example

2019-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除