我试着用这三个。js示例将我的头像替换为我自己的头像。我研究了本例中使用的文件,不明白为什么不能替换它。我创建了一个带有变形目标(默认为1个变形目标)和骨架的化身。我将变形目标导出为变形动画,将骨架导出为骨骼动画(这似乎需要变形目标和骨骼动画才能工作)。当我在浏览器上打开javascript文件时,我只能看到dat gui控件,但不会显示化身。我怎样才能做到这一点?
其他文件:umich_ucs。js,UCSCharcater。js,UCS_配置。json,探测器。js,dat。桂。三分钟。min.js,轨道控制。js
jsfiddle:link
var SCREEN_WIDTH = window.innerWidth;
var SCREEN_HEIGHT = window.innerHeight;
var container;
var camera, scene;
var renderer;
var mesh;
var mouseX = 0, mouseY = 0;
var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;
var clock = new THREE.Clock();
var gui, skinConfig, morphConfig;
document.addEventListener( 'mousemove', onDocumentMouseMove, false );
init();
animate();
function init() {
container = document.getElementById( 'container' );
camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 1, 100000 );
camera.position.set( 2000, 5000, 5000 );
scene = new THREE.Scene();
// LIGHTS
var light = new THREE.DirectionalLight( 0xffffff, 1 );
light.position.set( 0, 140, 500 );
light.position.multiplyScalar( 1.1 );
light.color.setHSL( 0.6, 0.075, 1 );
scene.add( light );
//
var light = new THREE.DirectionalLight( 0xffffff, 1 );
light.position.set( 0, -1, 0 );
scene.add( light );
// RENDERER
renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setClearColor( 0xffffff );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
container.appendChild( renderer.domElement );
// CHARACTER
character = new THREE.UCSCharacter();
character.onLoadComplete = function() {
console.log( "Load Complete" );
console.log( character.numSkins + " skins and " + character.numMorphs + " morphtargets loaded." );
gui = new dat.GUI();
setupSkinsGUI();
setupMorphsGUI();
gui.width = 300;
gui.open();
}
var loader = new THREE.XHRLoader();
loader.load("http://threejs.org/examples/models/skinned/UCS_config.json", function ( text ) {
var config = JSON.parse( text );
character.loadParts( config );
scene.add( character.root );
} );
window.addEventListener( 'resize', onWindowResize, false );
controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.center.set( 0, 3000, 0);
controls.addEventListener( 'change', render );
}
function setupSkinsGUI() {
var skinGui = gui.addFolder( "Skins" );
skinConfig = {
wireframe: false
};
var skinCallback = function( index ) {
return function () {
character.setSkin( index );
};
}
for ( var i = 0; i < character.numSkins; i++ ) {
var name = character.skins[ i ].name;
skinConfig[ name ] = skinCallback( i );
}
for ( var i = 0; i < character.numSkins; i++ ) {
skinGui.add( skinConfig, character.skins[i].name );
}
skinGui.open();
}
function setupMorphsGUI() {
var morphGui = gui.addFolder( "Morphs" );
morphConfig = {
};
var morphCallback = function( index ) {
return function () {
character.updateMorphs( morphConfig );
}
}
for ( var i = 0; i < character.numMorphs; i ++ ) {
var morphName = character.morphs[ i ];
morphConfig[ morphName ] = 0;
}
for ( var i = 0; i < character.numMorphs; i ++ ) {
morphGui.add( morphConfig, character.morphs[ i ] ).min( 0 ).max( 100 ).onChange( morphCallback( i ) );
}
morphGui.open();
}
function onWindowResize() {
windowHalfX = window.innerWidth / 2;
windowHalfY = window.innerHeight / 2;
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize( window.innerWidth, window.innerHeight );
}
function onDocumentMouseMove( event ) {
mouseX = ( event.clientX - windowHalfX ) * 10;
mouseY = ( event.clientY - windowHalfY ) * 10;
}
//
function animate() {
requestAnimationFrame( animate );
controls.update();
render();
}
function render() {
var delta = 0.75 * clock.getDelta();
// update skinning
THREE.AnimationHandler.update( delta );
renderer.render( scene, camera );
}
我已经弄明白了。问题是缩放。我的头像太大了,所以我看不到它显示在浏览器上。
问题内容: 我做了以下工作,一段时间后出现了stackoverflow错误,我知道为什么会这样。 但是,如果我没有在构造函数中创建新的Cat对象,而是采用Cat类型的参数并将其分配给insideCat字段,该怎么办? 我只是在玩弄代码,只是试图找出Java可以做什么和不能做什么。在第二个代码中,一切看起来都很正常,直到我开始测试该类为止。我需要一个Cat对象来创建Cat对象(要创建这个Cat对象,
我遇到了这个问题,因为我有一个应用程序,有restful服务,但我需要提供一些静态的。在这个应用程序中,我还使用了注释。看起来这个类是公共的,我可以将其子类化,但我不确定如何配置它。我的目标是覆盖这条线,这样我就可以控制404。
问题内容: 好吧,我该怎么做? 我想让一个模型具有对自身的外键引用。当我尝试创建此代码时,我收到django验证错误,该错误尚未定义Example。 问题答案: 你应该用
我在SCJP6中读到抽象类不能实例化。但在某个地方读到它们可以实例化。是真的吗?我是Java的新手,希望有人能详细解释一下。一个例子也是很好的。
问题内容: 假设我定义了一个类,该类具有与自己相同类型的变量作为成员。 这实际上有效,令我惊讶的是。 为什么我不应该这样:创建一个实例,它包含一个类型为的变量,其中包含一个类型为的变量,其中包含一个类型为的变量,..... 显然我错了,有人能启发我吗? 问题答案: 您仅声明变量而不创建它。尝试在声明或构造函数中创建它,让我知道会发生什么: 顺便说一句,如果您不是在类中创建它,而是在getter方法
我试图构建一个实现Runnable的任务对象,该对象通过begin()方法生成一个新线程,将其自身用作线程中的Runnable对象? 然后... 这可能吗?或者抽象的可运行类在新线程中使用自己会有问题吗?