问题描述
我有一个关于 3D 模型配置器的项目。正如您在下面看到的,我有可选的下拉选项,当您选择一个选项时,我的 3D 模型的纹理将通过与选项值相关的脚本进行更改。我想做的是;将此选项集成到带有“value”e“id”和“for”的复选框图像单选按钮中。我尝试了很多但失败了。任何帮助或建议都会很棒。谢谢...
(这不是我的项目。这就是我们在代码片段上出错的原因。只是想将单选按钮与脚本集成。脚本连接到代码的下拉列表)
<script type="module">
const modelViewerTexture = document.querySelector("model-viewer");
modelViewerTexture.addEventListener("scene-graph-ready",(ev) => {
let material = modelViewerTexture.model.materials[0];
let material1 = modelViewerTexture.model.materials[1];
let material2 = modelViewerTexture.model.materials[2];
document.querySelector('#diffuse').addEventListener('input',(event) => {
material.pbrMetallicRoughness.baseColorTexture.texture.source.setURI(event.target.value);
});
document.querySelector('#diffuse1').addEventListener('input',(event) => {
material1.pbrMetallicRoughness.baseColorTexture.texture.source.setURI(event.target.value);
});
document.querySelector('#diffuse2').addEventListener('input',(event) => {
material2.pbrMetallicRoughness.baseColorTexture.texture.source.setURI(event.target.value);
});
document.querySelector("#controls").addEventListener('beforexrselect',(ev) => {
ev.preventDefault();
});
})
</script>
<label for="diffuse">Style: </label>
<select id="diffuse">
<option value="textues/kumas/2/pgwfpjp_2K_Albedo.jpg"> Midnight</option>
<option value="textues/kumas/1/oi2veqp_2K_Albedo.jpg">Street
</option>
<option value="textues/kumas/3/sjfvce3c_2K_Albedo.jpg">Beach
</option>
<option value="textues/kumas/4/sjfvcjzc_2K_Albedo.jpg">Beach2
</option>
</select>
<br><br>
<label>
<input type="radio" name="test" value="small" checked>
<img src="textues/kumas/2/pgwfpjp_2K_Albedo.jpg">
</label>
<label>
<input type="radio" name="test" value="big">
<img src="textues/kumas/1/oi2veqp_2K_Albedo.jpg">
</label>
<label>
<input type="radio" name="test" value="big">
<img src="textues/kumas/3/sjfvce3c_2K_Albedo.jpg">
</label>
<label>
<input type="radio" name="test" value="big">
<img src="textues/kumas/4/sjfvcjzc_2K_Albedo.jpg">
</label>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)