博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2017年3月5日

摘要: 如果一个页面包含了form,同时这个form中的提交按钮是type=submit的input的时候,你刷新该页面,就会有弹窗提示是否重新提交表单,这个特性不胜其烦,常见解决方法有两个: 第一种是前端的解决方案: 将input[type=submit]改成button.onclick(function 阅读全文

posted @ 2017-03-05 15:21 SolHe 阅读(3477) 评论(0) 推荐(0) 编辑

摘要: 加载多个geometry的方式: (可以利用three.js自带convert_obj_three.py文件将obj文件转换成json文件) 附一个学习地址: http://stemkoski.github.io/Three.js/ http://helloenjoy.com/2013/from-u 阅读全文

posted @ 2017-03-05 14:57 SolHe 阅读(344) 评论(0) 推荐(0) 编辑

2017年2月16日

摘要: Asset Library是公司计划中的一个网站,用于存放图像,视频,三维文件等资产,在之前的一个多月中我写完了该网站的后台及部分前端,现在就剩最后一部分了,这也是最棘手最核心的部分,就是在网页上快速的显示这些资产。这意味着我需要写一个通用播放器来处理这三种格式。图片的处理并无难度,已经写完,就剩三 阅读全文

posted @ 2017-02-16 00:59 SolHe 阅读(250) 评论(0) 推荐(0) 编辑

2017年2月6日

摘要: 今天花了点时间了解了管道的相关知识,学会了实时获取管道信息的方式,通过这种方式,我可以很简单的将subprocess.Popen()中的标准输出实时获取到,进而利用这些实时信息实现更灵活更强大的功能。 废话不多说,代码如下: 首先建立一个子进程f,该进程执行外部程序,启动nuke的渲染;再建立一个线 阅读全文

posted @ 2017-02-06 00:40 SolHe 阅读(414) 评论(0) 推荐(0) 编辑

2017年2月4日

摘要: 今夜看了一篇分析python中多进程与多线程优劣的文章,文章通过几组性能测试强调了多进程的性能优势,同时也深入分析了为何python中多线程性能较差的原因,GIL就是解释器全局锁,该机制限制每个python进程中有且只有一个线程同时运行,也就是说即使写了threading,也于事无补,cpu只是在多 阅读全文

posted @ 2017-02-04 01:25 SolHe 阅读(719) 评论(0) 推荐(0) 编辑

摘要: qthread这个类主要用于解决pyqt中多线程的问题,常见用法是将后台代码封装在该类的run()方法中,再对qthread对象执行start()函数来启动线程。 但往往一个业务会有粒度划分,多个粒度就意味会有多个qthread对象,要想保证这些qthread对象按照顺序依次在后台执行就变得非常有必 阅读全文

posted @ 2017-02-04 01:16 SolHe 阅读(910) 评论(8) 推荐(0) 编辑

2016年12月27日

摘要: super超类继承特点小结: 1. super并不是一个函数,是一个类名,形如super(B, self)事实上调用了super类的初始化函数,产生了一个super对象; 2. super类的初始化函数并没有做什么特殊的操作,只是简单记录了类类型和具体实例; 3. super(B, self).fu 阅读全文

posted @ 2016-12-27 11:35 SolHe 阅读(241) 评论(0) 推荐(0) 编辑

2016年12月8日

摘要: 这一段时间一直忙于游走打靶,跟个别视效公司负责人聊天也闲扯了一些关于公司部门结构的问题。我本科是管理专业的,自然就会考虑何种组织方式能够最大限度的发挥人的价值,我很奇怪这个行业很多人都会认可这样一个观点:在好的公司体系里,无论哪个员工,谁走了也不会影响公司正常运作,这样的公司体系就是好的。诚然在这个 阅读全文

posted @ 2016-12-08 11:55 SolHe 阅读(546) 评论(0) 推荐(0) 编辑

2016年12月6日

摘要: 最近Colorspace成为了一个很高频的问题,很多Compositor为这个概念感到纠结,其实这是很正常的,因为Colorspace发展了很多年,也有很多种标准,最后还要落地到合成软件中,中间自然就增加了理解难度。 我决定将这篇释疑文分为两个部分: 一:Colorspace的来龙去脉 二:Nuke 阅读全文

posted @ 2016-12-06 16:09 SolHe 阅读(3950) 评论(0) 推荐(0) 编辑

2016年11月21日

摘要: 学习就该简单粗暴,看了一天Unity3d的教程加文档,尝试一个小练习,再快速写个博客加深印象。 一:首先建立一个空白工程,创建一个空GameObject,在Assets Pannel中创建一个名为LevelScript的c#文件,构建一个inspector属性相关的类。 LevelScript.cs 阅读全文

posted @ 2016-11-21 18:53 SolHe 阅读(1222) 评论(1) 推荐(0) 编辑

2016年11月11日

摘要: 琐事不提,从五月至今主要完成这样三件事: 一:完善了镜头管理系统的客户端并开发了三套系统以支持nuke,maya,houdini三个软件平台。 甩个链接:https://vimeo.com/191456261 二:尝试从零起步开发了一个内容问答平台,以django作为框架,前端设计比较大胆,大量使用 阅读全文

posted @ 2016-11-11 16:31 SolHe 阅读(284) 评论(6) 推荐(0) 编辑

2016年5月24日

摘要: lambda表达式可以理解为一种抽象的函数实现方法,这种方式只有最基本的三个步骤:给与参数,表达式实现,返回结果。这种方式非常干净,减少了内存的使用,整个程序少了函数的污染,代码格式也会更为简练。但在python中的使用是受限的,只能进行简单的表达式计算。 下面简单给一个知乎扒的代码示范一下: 上面 阅读全文

posted @ 2016-05-24 12:40 SolHe 阅读(727) 评论(0) 推荐(0) 编辑

2016年5月17日

摘要: 最近很多脚本工作都需要脱离nuke的gui环境运行,没有了script editor就必须要尝试Nuke Python module功能了。该模式可以执行大部分在GUI环境中的命令,在自动生成或者批量处理nuke工程时非常高效。 下面简单介绍该模式: 从8.0版本开始Nuke就可以被当作一个pyth 阅读全文

posted @ 2016-05-17 18:21 SolHe 阅读(2270) 评论(0) 推荐(0) 编辑

摘要: 最近一位同事的出现让我重新正视PySide中designer这个工具的强大之处,通过QtGui.QObject.setGeometry(QtCore.QRect())这个最简单直接的方法可以完成很多复杂的界面绘制,从而摆脱QtGui.QGridLayout(),QVBoxLayout(),QHBox 阅读全文

posted @ 2016-05-17 18:09 SolHe 阅读(1400) 评论(0) 推荐(0) 编辑

摘要: 判断一个物体是否在相机视野内思路很简单,对场景中每一个模型上的定点进行遍历,如果该点在相机视野内,那么该模型就在相机视野内,遍历结束。所以只要场景中模型数量不高,顶点数量不高,该方法执行效率还是很有保障的。 那么怎样判断一个顶点在相机视野内呢? 通过以下这段代码即可获得当前相机视野的横向开角Hang 阅读全文

posted @ 2016-05-17 18:03 SolHe 阅读(1396) 评论(0) 推荐(0) 编辑

2016年3月10日

摘要: 这篇文章是别人文章的一个观后小结,不是什么原创。 首先第一个例子: import threading import time def worker(): print "worker" time.sleep(1) return for i in xrange(5): t = threading.Thr 阅读全文

posted @ 2016-03-10 10:11 SolHe 阅读(232) 评论(0) 推荐(0) 编辑

2016年3月7日

摘要: 补充一个最新的镜头管理端demo:https://vimeo.com/230242960 其实这不是小结,这是晒成果: 先来一个截图: 输入用户名密码点击refresh data按钮就可以从服务器抓取数据了。点击一次就抓取一次,完全静态。 在下拉框中你可以选择项目名称,获取当前用户名下该项目的所有镜 阅读全文

posted @ 2016-03-07 10:38 SolHe 阅读(528) 评论(5) 推荐(0) 编辑

2016年3月4日

摘要: 上一篇小结提到PySide的信号槽机制,这篇文章主要总结PySide中的事件机制。 先上一段代码: 我们都知道QtGui.QLabel类中是没有事件机制的。想要给该QtGui.QLabel类添加事件,就需要建立一个继承QtGui.QLabel的新类。在该新类中添加一系列事件函数。本文提供的代码中创建 阅读全文

posted @ 2016-03-04 18:10 SolHe 阅读(333) 评论(0) 推荐(0) 编辑

2016年3月2日

摘要: 公司利用免费bug管理系统mantis来进行镜头管理,当然这个系统是经过二次开发的,表格字段都替换过了,所以进行简单的镜头管理是没有问题的。但美中不足是该系统基于web端,artist要查看提交自己的镜头任务都需要打开浏览器,这就降低了artist查看自己工作进度的积极性。于是决定开发一个集成在制作 阅读全文

posted @ 2016-03-02 17:16 SolHe 阅读(515) 评论(0) 推荐(0) 编辑

2016年1月18日

摘要: 继上文继续写。有了顶点迭代器之后就可以利用MItMeshVertex类的getConnectedVertices方法来获取相连点并代入平滑算法。 选择什么样的平滑算法呢?本人比较懒,直接打开了计算机图形学(第四版)322页直接用bezier样条曲线的方法来做平滑。该算法的公式比较复杂,有大量阶乘计算 阅读全文

posted @ 2016-01-18 16:20 SolHe 阅读(1403) 评论(0) 推荐(0) 编辑