要完成unity3d 阴影制作如果你纯粹是依靠固定的操作步骤来完成,那么会很耗费时间,而且制作出来的unity3d 阴影往往在后期还会需要大量的修整。因此我们就需要掌握一定的unity3d 阴影制作技巧。比如说:
if(window.getSelection){
selectionObj = window.getSelection();
selectedText = selectionObj.toString();
rangeObj = selectionObj.getRangeAt(0);
var docFragment = rangeObj.cloneContents();
var tempDiv = document.createElement("div");
tempDiv.appendChild(docFragment);
selectedHtml = tempDiv.innerHTML;
}else if(document.selection){
selectionObj = document.selection;
rangeObj = selectionObj.createRange();
selectedText = rangeObj.text;
selectedHtml = rangeObj.htmlText;
}
alert(selectedText);
alert(selectedHtml);
};
var gruntpath = "grunt.js的路径";
var grunt = require(gruntpath);
grunt.cli();
直接运行,提示找不到gruntfile.js,修改grunt文件夹中的task.js,大概在430行左右
var old_path = process.cwd();//获取当前工作目录
process.chdir('项目文件目录');//修改到项目目录
var gruntfile = allInit ? null : grunt.option('gruntfile') ||
grunt.file.findup('Gruntfile.{js,coffee}', {nocase: true});//查找gruntfile文件
process.chdir(old_path);//修改回程序目录
console.log(job.getData());
process.exit();
});
})();
var testDiv = document.getElementById("testDiv");
testDiv.onmouseup = function(){
var selectionObj = null, rangeObj = null, selectedText = "", selectedHtml = "";
(grunt.option('npm') || []).forEach(task.loadNpmTasks);//加载npm的模块
process.chdir('项目文件目录');//切换到项目目录
先切换到项目文件目录查找gruntfile.js文件,然后切换回程序目录查找node模块,运行完grunt后,程序自动退出了,囧,需要修改grunt下的exit.js
process.exit(0);//这句需要注释掉
var child = require("child_process").fork("child.js");
child.onmessage = function(data){
console.log(data);
}
child.on("exit",function(exitCode){
console.log(exitCode);
});
--运行后提示:unzip the package xx/child.js,上网各种谷歌之后得出作者结论:
child_process.fork is broken
npm install node-webworker
之后引用worker.js
var Worker = require("worker.js");
var workker = new Worker("child.js");
worker.onmessage = function(data){
console.log(data);
}
worker.postmessage({msg:'hello'});
运行后,发现child.js中的任何信息都无法传递回给父进程,最后发现在worker.impl.buffer中保存了相关信息。
var timeId = setInterval(function(){
var msg = worker.impl.buffer;
if(!msg)return false;
console.log(msg);
worker.imple.buffer = "";
},1000);
var worker = new Worker("child.js");
worker.onmessage = function(data){};
worker.postmessage("hello");
myFunction(){}
myFunction.test()
这些关于unity3d 阴影的制作技巧整体来说难度是比较大的,但是如果你对于unity3d比较熟悉而对unity3d 阴影又有一定的了解程度,那么在进行unity3d 阴影技巧学习以及运用的时候就会发现其实unity3d 阴影制作很简单,难度并不是太大。