<template>
|
<Popup Popup ref="pop" :title="form.title" @yes="addTexture" showBtn="true">
|
<div class="skyTexture">
|
<el-form ref="form" :model="form" label-width="100px">
|
<el-form-item label="选择纹理">
|
<el-select v-model="form.texture">
|
<el-option label="默认" value="defaultTexture"></el-option>
|
<el-option label="星空" value="starrySky"></el-option>
|
<el-option label="近地晴空" value="clearSky"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="是否近地">
|
<el-select v-model="form.ground">
|
<el-option label="否" :value="0"></el-option>
|
<el-option label="是" :value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-form>
|
</div>
|
</Popup>
|
</template>
|
|
<script>
|
import Popup from "@tools/Popup.vue";
|
let skyBox
|
export default {
|
name: "skyTexture",
|
components: {
|
Popup,
|
},
|
data() {
|
return {
|
form: {
|
title: "选择纹理",
|
texture: "defaultTexture",
|
ground: 0,
|
},
|
};
|
},
|
methods: {
|
// 关闭弹窗
|
close() {
|
this.$refs.pop.close();
|
},
|
// 打开弹窗
|
open() {
|
this.$refs.pop.open();
|
},
|
// 添加纹理
|
addTexture() {
|
skyBox && skyBox.clear()
|
switch (this.form.texture) {
|
case "defaultTexture":
|
skyBox = window.sgworld.Creator.SkyBox(!!this.form.ground, {
|
positiveX: require("@assets/skyTexture/tycho2t3_80_px.jpg"),
|
negativeX: require("@assets/skyTexture/tycho2t3_80_mx.jpg"),
|
positiveY: require("@assets/skyTexture/tycho2t3_80_py.jpg"),
|
negativeY: require("@assets/skyTexture/tycho2t3_80_my.jpg"),
|
positiveZ: require("@assets/skyTexture/tycho2t3_80_pz.jpg"),
|
negativeZ: require("@assets/skyTexture/tycho2t3_80_mz.jpg"),
|
});
|
break;
|
case "starrySky":
|
skyBox = window.sgworld.Creator.SkyBox(!!this.form.ground, {
|
positiveX: require("@assets/skyTexture/skyBox_px.jpg"),
|
negativeX: require("@assets/skyTexture/skyBox_mx.jpg"),
|
positiveY: require("@assets/skyTexture/skyBox_py.jpg"),
|
negativeY: require("@assets/skyTexture/skyBox_my.jpg"),
|
positiveZ: require("@assets/skyTexture/skyBox_pz.jpg"),
|
negativeZ: require("@assets/skyTexture/skyBox_mz.jpg"),
|
});
|
break;
|
case "clearSky":
|
skyBox = window.sgworld.Creator.SkyBox(!!this.form.ground, {
|
positiveX: require("@assets/skyTexture/rightav9.jpg"),
|
negativeX: require("@assets/skyTexture/leftav9.jpg"),
|
positiveY: require("@assets/skyTexture/frontav9.jpg"),
|
negativeY: require("@assets/skyTexture/backav9.jpg"),
|
positiveZ: require("@assets/skyTexture/topav9.jpg"),
|
negativeZ: require("@assets/skyTexture/bottomav9.jpg"),
|
});
|
break;
|
default:
|
break;
|
}
|
},
|
},
|
};
|
</script>
|
<style lang="less" scoped>
|
.skyTexture {
|
/deep/ .el-form-item {
|
margin-top: 20px;
|
|
.el-button {
|
position: relative;
|
}
|
}
|
}
|
</style>
|