自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 Maya 搭建PyCharm 插件开发环境

在新版本的maya安装目录是包含了Pymel库,路径:D:\Autodesk\Maya2019\Python\Lib\site-packages,在配置Pycharm的第三方lib的时候可以直接添加这个路径。1.在Pycharm编辑器添加扩展工具,QtDenginer 和 生成Qtpy的pySide2_uic1.1Qt Designers的配置Name:QtDesiginerProgram: D:\Autodesk\Maya2019\bin\designer.exeArgum..

2020-07-01 09:59:28 1227

原创 Maya 创建第一个Maya插件

1.插件代码import sysimport maya.OpenMaya as OpenMayaimport maya.OpenMayaMPx as OpenMayaMPxkPluginCmdName = "spHelloWorld"#commandclass scriptedCommand(OpenMayaMPx.MPxCommand):def _init_(self):OpenMayaMPx.MPxCommand._init_(self)#invoked when the co

2020-06-30 18:45:11 488

原创 Maya 批量写动画帧

我们知道,pymel 的setKeyFrame是可以设置关键帧,但是这种方式只能一个一个的设置,如何我们有一个数据,需要导入上千上万帧,这个速度就非常的慢,慢到完全不能使用。其实在Maya 原生Python 和 C++ 库提供了一个批量导入关键帧的方式。它就是来自OpenMayaAnim.MFnAnimCurve里面的addKeys 方法。这个方法能够为节点的一个属性批量写帧,速读很快。导入节点的transform属性,自定义扩展属性相同defAddKeysForNode(att,no...

2020-06-30 18:39:23 870

原创 Maya 预定义的事件,可以通过scriptJob实现监听

[u'dbTraceChanged', u'resourceLimitStateChange', u'linearUnitChanged', u'timeUnitChanged', u'angularUnitChanged', u'Undo',u'undoSupressed', u'Redo', u'customEvaluatorChanged', u'serialExecutorFallback', u'timeChanged', u'currentContainerChange',u'quitApp

2020-06-30 18:36:41 666

原创 Python 多线程处理事务

可以使用threading 这个Module来使用多线程importthreadingthreading.Thread(target=self.startDownload,args=[downloadList]).start()这样就使用另一个线程执行startDownload 函数,args里面就是函数的参数使用线程,大部分会操作到共享数据的部分,这时候就需要用锁机制来保证共享数据的安全性:需要在能够都访问的地方申明一个锁self.downloadLock = threading.Lo.

2020-06-30 18:34:38 300

原创 Python 简单下载文件

import shutilimport urllibdef internal_downloadFile(self,sourceFile,dstFile): dirPath = os.path.dirname(dstFile) if not os.path.exists(dirPath): os.makedirs(dirPath) if sourceFile.startswith('//'): shutil.copyfile(sourceFi.

2020-06-30 18:32:52 129

原创 Python 普通类型转换

1.str 与bytes转换 # bytes object b = b"example" # str object s = "example" # str to bytes bytes(s, encoding = "utf8") # bytes to str str(b, encoding = "utf-8") # an alternativ...

2020-06-30 18:27:53 56

原创 U3D 实现UGUI循环列表

在项目开发中,列表滚动是很常用的功能,比如展示玩家排名,聊天信息等。这里我们实现一个循环列表功能。首先我们创建个ScrollRect,移除掉Content里面的布局组件。如下然后在List_View上放上如下代码LoopListViewer.cs:/* * Created By Zhaotao On 2019-3-22 * Desc:循环列表 */usi...

2020-06-30 18:27:30 160

原创 U3D Layout 添加嵌套的自动大小的文本

在UGUI的开发中,我们有个滚动区域,但是滚动区域的Content添加一个V Layout Group 这个组件,方便自动布局。但是里面的内容是动态高度,比如文本框,文本内容不同,高度也不同。所以文本也添加一个Content Size Fitter这个组件。但是这样就存在一个问题,当文本框动态添加到Content 下面的时候,由于Text的高度没有及时计算出来,导致滚动区域高度和文本重叠的现象。这...

2020-06-30 18:26:15 88

原创 U3D UGUI上粒子特效穿插层级 问题解决

在使用Unity3d的UGUI开发的时候,经常会使用到粒子系统。但是粒子系统有一套自己的渲染层级,导致我们在UGUI中穿插使用的时候特别鸡肋。在网上查阅了很多开发者的方案,大部分是使用Canvas分割层级实现穿插的效果,但是使用Canvas就不能保证我们制作UI上那种顺序合理的节点层级结果。还有少部分的人使用渲染到纹理的方式来添加,这种相机销毁成本过高。这里实现一个不改变UI节点层级结构,...

2020-06-30 18:25:31 630 1

原创 多边形三角化,无内岛多边形(拆耳法)

PS.代码使用的Unity3d的库,主要是实现思想。思想:1.多边形的点以顺时针统计(顺时,逆时关系不大,这里统一这个标准,方便判断正负)2.把凸顶点放在一个List中 如何判断一个点是不是凸点,如目标的t,左点为P1,又点为P2 ,向量pt1 = P1 - t,pt2 = P2 - t,然后pt1 与 pt2 做叉积,判断z 的正负就知道是不是凹凸3.把凹点放在一个Li...

2020-06-30 18:24:41 131

原创 U3d 代码修改图片的尺寸

同个代码修改图片尺寸。代码如下:public static Texture2D CreateResizeTexture(Texture2D tex, int width, int height, TextureFormat format, bool isMipmap) { if (tex == null) { ...

2020-06-30 18:24:09 396

原创 Lua rawset和rawget的用法

rawset 和rawget 操作非元表里面的值,所以想获取或设置不是元表里面的值时候使用。local a = {b = 1,c = 2}local e = {f = 3,g = 4}setmetatable(a,e)e.__index = function(t,key) return rawget(t,key)ende.__newindex = function(t,k,...

2020-06-30 18:23:47 204

原创 Lua 实现字符串的分割

在开发过程中,经常会用到字符串分割,如C#中的string.Split函数,把一个字符串按某个子字符串分割成一个字符串数组。基本思想:使用Lua自带的string.gmatch()函数实现,此函数可以对一个字符串做正则表达式匹配,返回一个迭代器。-- 分割字符串---@param str string 元字符串---@param seq string 分割字符---@retur...

2020-06-30 18:23:00 3446 2

原创 U3d 资源断点下载

直接附上代码,比较易懂:/* * Created By Zhaotao On 2019-4-08 * Desc:文件斷點下載 */using System.Threading;using System.IO;using System.Net;using System;/// /// 通过http下载资源/// public class HttpDownLoad{...

2020-06-30 18:21:38 69

原创 U3D 图像截屏

public static Texture2D CaptureScreen() { return CaptureScreen(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height)); } public static Texture2D CaptureScr...

2020-06-30 18:20:12 71

原创 Lua 设置只读table

在开发过程中,比如配置,服务器下发的数据,这些数据我们不做修改。怎么防止别人的误修改呢。我们可以设置__newindex 元方法来实现:--把table 变成readobly---@param t table 对象function Common.TableReadOnly(t) if t == nil or type(t) ~= "table" then retu...

2020-06-30 18:16:33 115

原创 QT 主窗口大小改变,子窗口大小不能跟随变化

开始使用QT,在MainWindow中动态添加一个Widget的子窗口,想主窗口大小改变的时候,比如最大化。结果子窗口的大小不能改变。从网上查询资料,说主窗口需要重载protected: virtual void resizeEvent(QResizeEvent *event) override;然后我乖乖的重载了这个方法。在这个方法里动态调用子窗口的void Select...

2020-06-30 18:15:47 1203

原创 Unity 打AssetBundle资源关联问题

我们在使用buildMap[0].assetBundleName = "test/ssss.ab";buildMap[0].assetNames = item.Value.ToArray();BuildPipeline.BuildAssetBundles(SavePath, buildMap, BuildAssetBundleOptions.Collec...

2020-06-30 18:15:07 122

原创 U3d 声音播放

在u3d 中,对于声音的播放,又2个重要的类,AudioSource,AudioClipAudioSource相当于一个播放器组件,里面需要一个AudioClip,就能播放声音了。它包含对声音大小的控制,播放时间的控制,停止,暂停等等。AudioClip相当于声音资源,通过一个资源路径,可以创建一个AudioClip,然后赋值给AudioSource,就能通过AudioSour...

2020-06-30 18:14:34 96

原创 U3d HttpWebRequest提示Not Found

这是一个坑。在开发中,碰见一个URL死活打不开,把这个URL链接打印出来,复制粘贴到浏览器也是不能打开。在浏览器重新输入这个字符串链接是能够正常打开的。这个URL链接是怎么来的,解析字符串拼接出来的URL。开始怀疑是有不对的字符,同个把正常链接和有问题的链接拷贝到文本编辑器做对比,字符个数,结尾空格都是正常的,感觉很是奇怪。最好把有问题的字符从输出窗口的打印复制粘贴到JetBrai...

2020-06-30 18:14:05 245

原创 U3d 属性面板自定义扩展(多态数组)

原文地址:https://blog.csdn.net/qq_35361471/article/details/84715491原文地址:https://blog.csdn.net/tom_221x/article/details/79437561序列化相关问题:https://blog.uwa4d.com/archives/2025.html一直想研究,怎么使用 ScriptableO...

2020-06-30 18:13:37 154

原创 Python 安装启动一个简易的WebSocket

1.Python的WebSocket库安装库介绍地址:https://websockets.readthedocs.io/en/stable/intro.html使用pip工具安装,pip.exe是Python自带的Python库安装工具(最新版本一般都要),一般存在于Python安装目录的Scripts目录下,可以直接在Pythona安装目录收索获得,为了方便,可以为pip的目录添...

2020-06-30 18:12:18 766

原创 Jenkins 使用版本号插件

1.插件安装主页>系统管理>插件管理>可选插件 直接收索(Version Number)由于我已经安装了,所以看不见,没有安装的可以看见这里有这个插件,点击直接安装。2.项目配置a.进入任意一个项目配置界面Environment Variable Name:自己区的一个变量名字,方便后面要使用的地方使用Version Number Form...

2020-06-30 18:11:50 291

原创 Jenkins 配置打包完成邮件通知

使用Jenkins做自动打包的时候,可以配置打包完后或者打包错误给指定人发邮件通知。1.系统设置主页>系统管理>系统设置a.Jenins location设置好管理员邮箱地址。b.使用了Extended E-amilNotification插件设置网易企业SMTP Server: smtp.qiye.163.com网易SMTP Server: ...

2020-06-30 18:11:40 299

原创 U3d 资源做热更新

我这里实现了3个文件来处理热更新:Logo.cs 游戏的启动文件,里面处理下载存放资源路径的初始化。下载列表检查,下载,进入游戏DownLoader.cs U3d的一个组件,里面包含具体的下载线程,用来处理开启多线程下载HttpDownLoad.cs 具体的文件下载类,线程运行下载,支持断点下载/* Logo.cs * Created By Zhaotao On 2019...

2020-06-30 18:11:25 140

原创 Lua 十进制到任意进制的转换

此方法位数学计算方法,可能效率不是最好,但可以提供一个计算思想。这里实现2-16进制的转换,此思想可以扩展到任意进制。数学思想:比如给给定一个十进制数字 20,我们要转成8进制,我们就反复除以8,把结果取证,如果大于8,对结果继续除,每次的余数按顺序排列下来。最好结果就是 结果|余数|余数|余数....。20 / 8 = 2 余数 4,2 不大于等于8,停止运算,转换成的8进制就是:...

2020-06-30 18:10:28 1073 1

原创 jenkins 怎么关闭与重启

我们通过jar -jar jenkins.war来启动jenkins服务器,那么我们如何关闭或者重启jenkins服务器呢?关闭Jenkins只需要在访问jenkins服务器的网址url地址后加上exit。例如我jenkins的地址http://localhost:8080/,那么我只需要在浏览器地址栏上敲下http://localhost:8080/exit网址就能关闭jenkins服...

2020-06-30 18:10:04 160

原创 JenKins Windows搭建JebKins自动打包

1.第一步#下载jenKins :https://jenkins.io/zh/我直接下载的.msi安装文件,直接根据安装向导安装即可。安装完后在浏览器打开:http://localhost:8080/,开始可能要等待一会,会弹出配置信息。根据向导配置即可。2.添加打包工程直接选择 新建 会出现上面的界面,取个好记的名字,选择第一个(构建一个自由风格的软件项目),确定,...

2020-06-30 18:09:51 112

原创 U3d 命令方式打APK

这里介绍一下怎么同个gradle命令打U3d Apk包。U3d 有2种方式打包。第一种:直接用过U3d 出APK包,对于前期demo开发测试可以,在后期的使用中,一般要有Android自己的工程项目,因为里面要添加第三方的SDK相关的东西。第二种方式就是导出一个Android Studio工程。怎么通过Unity导出Android工程的界面操作版本可以查看:https://blog.csd...

2020-06-30 18:09:29 112

原创 U3d WebGL使用ToLua

首先我们在编辑器模式下加入Tolua插件,然后配置修改到在编辑器模式下能够正常的运行。同个U3d 插件Build出WebGL的工程,运行的时候你会发现(有些需要把这个WebGL工程放在一个HttpServer下面,直接本地访问index.html会被拒绝,让你使用http的格式)。当要加载完的时候会出现To use dlopen, you need to use Emscripten'...

2020-06-30 18:07:48 2179

原创 Qt 写Excl文件

参考资料:https://blog.csdn.net/czyt1988/article/details/52121360 https://blog.csdn.net/qq_35057840/article/details/54318443https://www.cnblogs.com/techiel/p/7932329.html然后自...

2020-06-30 18:05:39 67

原创 Qt 读写xml文件

写xml 文件:QDomDocument xml; QString strHeader( "version=\"1.0\" encoding=\"UTF-8\"" ); xml.appendChild( xml.createProcessingInstruction("xml", strHeader) ); QDomElement contentElement =...

2020-06-30 18:03:42 162

原创 Qt 写文件

使用QFile 写文件:QFile f(pFileName); if(!f.open(QIODevice::WriteOnly|QIODevice::Text)) { QMessageBox::warning(this,"file write","can't open",QMessageBox::Yes); ...

2020-06-30 18:03:21 142

原创 Qt 文件路径操作

//mSaveName = "C:/aaaa/fff.txt"; auto info = QFileInfo(mSaveName); QString pathName = info.absolutePath();// "C:/aaaa" QString baseName = info.baseName(); //"fff" QString fileName = info.fileName(...

2020-06-30 18:02:26 126

原创 Qt 绘图(Widget与QImage)

在Qt 中,可以用 QPainter 来绘制图形1.在Widget 上面绘制这个必须重载void paintEvent(QPaintEvent *event) 方法:void ViewWidget::paintEvent(QPaintEvent *event){ QPainter pen(this); //绘制图片 QImage image("xxxx/3207.png...

2020-06-30 18:02:11 810

原创 Qt 滚动区域的用法

我给一个widget添加一个滚动区域:QScrollArea *s = new QScrollArea(ui->centralWidget); s->setGeometry(600, 0, 600, 620); s->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); //垂直滚动条不可见,只能通...

2020-06-30 18:01:34 166

原创 Qt 窗口接收拖动进来的文件路径

在桌面应该的开发中,经常会碰见拖动文件进入窗口来添加文件的方法。在Qt中实现相当简单。在要接收拖动文件的widget类中,重载2个虚函数:protected: void dragEnterEvent(QDragEnterEvent *event); virtual void dropEvent(QDropEvent *event);void ViewWidget::dragEnte...

2020-06-30 18:00:59 164

原创 Qt ui文件的用法

通过工程创建向导,我们创建一个简单的工程,包含一个ui文本。我们创建一个helloworld 的文件,包含一个helloworld.ui文件这是工具自动生成出来的,创建出来的时候ui_helloworld.h还没有生成,需要运行的时候它会根据helloworld.ui生成出来。我们可以查看这个文件:class Ui_HelloWorld{public: QMenuBar *menuBa...

2020-06-30 18:00:45 111

原创 Qt 开放环境的安装

这里是使用Qt creator开放环境的安装。下载地址:http://download.qt.io/这上面可以找打不同的版本。我下载了官方最新版本,最大最全的那个。里面包含了Qt库和Qt creator工具。安装的时候把编译工具选择起。我选择的WinGW ,因为在里面是最全的,包含了编译工具,调试工具。MSVC工具可能需要自己下载调试工具。...

2020-06-30 18:00:26 77

空空如也

空空如也

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

TA关注的人

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