private Mesh setMeshUV(Vector2 _uvPos, Vector2 _size, FLIP _flip, bool _scaleAtUv) { Mesh nowMesh = getMesh(); if (nowMesh != null) { Vector2[] tmpUv = new Vector2[mDefUvs.Length]; if (!_scaleAtUv) { _size.Scale(mTexSizeInv); } if ((_flip == FLIP.LR) || (_flip == FLIP.LRUD)) { _uvPos.x += _size.x; _size.x *= -1.0f; } if ((_flip == FLIP.UD) || (_flip == FLIP.LRUD)) { _uvPos.y += _size.y; _size.y *= -1.0f; } _size *= (1.0f - EDGE_CLIP_RATE); _uvPos += _size * (EDGE_CLIP_RATE * 0.5f); for (int ii = 0; ii < mDefUvs.Length; ++ii) { tmpUv[ii] = Vector2.Scale(mDefUvs[ii], _size) + _uvPos; } nowMesh.uv = tmpUv; nowMesh.Optimize(); } return(nowMesh); }
protected override void ApplyProperty() { if (this.TEX?.FileName?.Length != 0) { FLIP?.ApplyTo(RenderedObject, Property.FLIP); } else { throw new MissingTEXPropertyException(this.RenderProperty.ElementName); } BLEND?.ApplyTo(RenderedObject, Property.BLEND); }
public Mesh SetMeshUV(Vector2 _uvPos, Vector2 _size, FLIP _flip, bool _scaleAtUv = true) { return(setMeshUV(_uvPos, _size, _flip, _scaleAtUv)); }
private Mesh setMeshUV(Vector2 _uvPos, Vector2 _size, FLIP _flip, bool _scaleAtUv) { Mesh nowMesh = getMesh(); if(nowMesh!=null){ Vector2[] tmpUv = new Vector2[mDefUvs.Length]; if(!_scaleAtUv){ _size.Scale(mTexSizeInv); } if((_flip == FLIP.LR)||(_flip == FLIP.LRUD)){ _uvPos.x += _size.x; _size.x *= -1.0f; } if((_flip == FLIP.UD)||(_flip == FLIP.LRUD)){ _uvPos.y += _size.y; _size.y *= -1.0f; } _size *= (1.0f-EDGE_CLIP_RATE); _uvPos += _size*(EDGE_CLIP_RATE*0.5f); for(int ii = 0; ii< mDefUvs.Length; ++ii){ tmpUv[ii] = Vector2.Scale(mDefUvs[ii],_size) + _uvPos; } nowMesh.uv = tmpUv; nowMesh.Optimize(); } return nowMesh; }
public Mesh SetMeshUV(Vector2 _uvPos, Vector2 _size, FLIP _flip, bool _scaleAtUv=true) { return setMeshUV(_uvPos, _size, _flip, _scaleAtUv); }