4 qq_35267906

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 62w+

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

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

Maya 批量写动画帧

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

2020-06-30 18:39:23

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

Python 多线程处理事务

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

2020-06-30 18:34:38

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

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...

2019-04-22 15:06:33

U3D 实现UGUI循环列表

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

2019-03-27 09:47:22

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

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

2019-04-08 12:18:10

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

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

2019-03-25 13:34:34

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

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

2018-09-07 17:19:13

U3d 代码修改图片的尺寸

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

2019-03-27 09:52:27

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,...

2019-04-02 12:32:35

Lua 实现字符串的分割

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

2019-03-21 14:49:20

U3d 资源断点下载

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

2019-04-09 09:48:55

U3D 图像截屏

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

2019-03-27 09:50:25

Lua 设置只读table

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

2019-04-02 13:22:33

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

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

2019-04-06 11:34:34

Unity 打AssetBundle资源关联问题

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

2019-04-03 16:16:51

U3d 声音播放

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

2019-05-13 09:59:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。