|
@@ -4,7 +4,8 @@ import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs
|
|
|
import { PuppetViewController } from "./PuppetViewController";
|
|
import { PuppetViewController } from "./PuppetViewController";
|
|
|
import { Puppet } from "../puppet";
|
|
import { Puppet } from "../puppet";
|
|
|
import { PuppetViewAnimator } from "./PuppetViewAnimator";
|
|
import { PuppetViewAnimator } from "./PuppetViewAnimator";
|
|
|
-import { adjustColor, adjustColor1 } from "../../common/utils/color";
|
|
|
|
|
|
|
+import { adjustColor, adjustColor1, colorToHexString } from "../../common/utils/color";
|
|
|
|
|
+import { MaterialPool } from "../../common/utils/MaterialPool";
|
|
|
|
|
|
|
|
const { ccclass, property } = _decorator;
|
|
const { ccclass, property } = _decorator;
|
|
|
|
|
|
|
@@ -44,14 +45,20 @@ export class PuppetViewComp extends CCComp {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
switchOutLine(on: boolean) {
|
|
switchOutLine(on: boolean) {
|
|
|
|
|
+ const puppet = this.ent as Puppet;
|
|
|
|
|
+ if(!puppet?.PuppetModel)return
|
|
|
// 获取MeshRenderer组件
|
|
// 获取MeshRenderer组件
|
|
|
let rendererComponets = this.node.getComponentsInChildren(MeshRenderer) as RenderableComponent[]
|
|
let rendererComponets = this.node.getComponentsInChildren(MeshRenderer) as RenderableComponent[]
|
|
|
rendererComponets.forEach((rendererComponet) => {
|
|
rendererComponets.forEach((rendererComponet) => {
|
|
|
// 获取材质实例
|
|
// 获取材质实例
|
|
|
- let materialIns = rendererComponet.material
|
|
|
|
|
- if (materialIns) {
|
|
|
|
|
- materialIns.setProperty('lineWidth', on ? 20 : 5);
|
|
|
|
|
- rendererComponet.material = materialIns
|
|
|
|
|
|
|
+ let material = rendererComponet.sharedMaterial
|
|
|
|
|
+ if (material) {
|
|
|
|
|
+ const lineWidth = material.getProperty('lineWidth')
|
|
|
|
|
+ if(on&&lineWidth===20)return
|
|
|
|
|
+ if(!on&&lineWidth==5)return
|
|
|
|
|
+ // const color = material.getProperty('mainColor')
|
|
|
|
|
+ // if(!color)return
|
|
|
|
|
+ rendererComponet.material = MaterialPool.getManMaterialWithColorLineBold(puppet.PuppetModel.color)
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
@@ -63,13 +70,13 @@ export class PuppetViewComp extends CCComp {
|
|
|
let rendererComponets = this.node.getComponentsInChildren(MeshRenderer) as RenderableComponent[]
|
|
let rendererComponets = this.node.getComponentsInChildren(MeshRenderer) as RenderableComponent[]
|
|
|
rendererComponets.forEach((rendererComponet) => {
|
|
rendererComponets.forEach((rendererComponet) => {
|
|
|
// 获取材质实例
|
|
// 获取材质实例
|
|
|
- let materialIns = rendererComponet.material
|
|
|
|
|
|
|
+ let materialIns = MaterialPool.getManMaterialWithColor(color)
|
|
|
if (materialIns) {
|
|
if (materialIns) {
|
|
|
// 修改材质实例的颜色
|
|
// 修改材质实例的颜色
|
|
|
- const newColor = adjustColor(color,1,1.1)
|
|
|
|
|
- materialIns.setProperty('mainColor', new Color(newColor));
|
|
|
|
|
- materialIns.setProperty('shadeColor1', new Color(newColor));
|
|
|
|
|
- materialIns.setProperty('shadeColor2', new Color(adjustColor(color,0.78,1.5)));
|
|
|
|
|
|
|
+ // const newColor = adjustColor(color,1,1.1)
|
|
|
|
|
+ // materialIns.setProperty('mainColor', new Color(newColor));
|
|
|
|
|
+ // materialIns.setProperty('shadeColor1', new Color(newColor));
|
|
|
|
|
+ // materialIns.setProperty('shadeColor2', new Color(adjustColor(color,0.78,1.5)));
|
|
|
rendererComponet.material = materialIns
|
|
rendererComponet.material = materialIns
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|