• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

290
Vistas
Threejs: creando una clase, no se puede pasar Vector3 a través de la variable de posición

He intentado pasar la posición de un Vector3 a this.positon = position; donde la posición es == x, y, zie: 0, 2, 0; joe = new people((0, 2, 0)) sin embargo, no funciona. La esfera no aparece. No recibo ningún error, y cuando console.log(joe) la posición = 0

 class people { constructor(name, age, color, position, radius) { this.name = name, this.age = age, this.color = color, this.position = position, this.radius = radius, this.createperson() } createperson() // runs script below { this.person = new THREE.Mesh( new THREE.SphereGeometry(this.radius, 32, 16), new THREE.MeshStandardMaterial({ color: this.color, metalness: 0, roughness: 0.5 }) ) this.person.position.set(this.position) scene.add(this.person) }

}

let joe = new people('Joe', 26, '#00ff00', (0, 1, 0), 2)

pero cuando lo paso individualmente como this.x = x, this.y = y, this.z = z . joe = new people(0, 2, 0) esto funciona. Aparece como debería. Cuando console.log(joe) , la posición es un Vector3.

 class people { constructor(name, age, color, x, y, z, radius) { this.name = name, this.age = age, this.color = color, this.x = x, // this this.y = y, // part this.z = z, // here works this.radius = radius, this.createperson() } createperson() // runs script below { this.person = new THREE.Mesh( new THREE.SphereGeometry(this.radius, 32, 16), new THREE.MeshStandardMaterial({ color: this.color, metalness: 0, roughness: 0.5 }) ) this.person.position.set(this.x, this.y, this.z) scene.add(this.person) }

}

let joe = new people('Joe', 26, '#00ff00', 0, 1, 0, 2)

almost 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

let joe = gente nueva('Joe', 26, '#00ff00', (0, 1, 0), 2)
=> let joe = gente nueva('Joe', 26, '#00ff00', new THREE.Vector3(0, 1, 0), 2)

y

esta.persona.posición.set(esta.posición) => esta.persona.posición.copy(esta.posición)

almost 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda