要完成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 阴影制作很简单,难度并不是太大。