mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2024-12-25 14:36:13 +01:00
- 3D rotation unit now interpolate in the current unit.
This commit is contained in:
parent
d3c024abb2
commit
14fbe0e229
2 changed files with 8 additions and 23 deletions
|
@ -205,7 +205,7 @@ function valueAnimator(_val, _prop, _sep_axis = false) constructor {
|
|||
return _f.lerpTo(_t, _lrp);
|
||||
}
|
||||
|
||||
if(prop.display_type == VALUE_DISPLAY.d3quarternion)
|
||||
if(prop.display_type == VALUE_DISPLAY.d3quarternion && prop.display_data.angle_display == QUARTERNION_DISPLAY.quarterion)
|
||||
return quarternionArraySlerp(_f, _t, _lrp);
|
||||
|
||||
if(prop.type == VALUE_TYPE.color) {
|
||||
|
|
|
@ -1492,6 +1492,9 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
static valueProcess = function(value, nodeFrom, applyUnit = true, arrIndex = 0) { #region
|
||||
var typeFrom = nodeFrom.type;
|
||||
|
||||
if(applyUnit && display_type == VALUE_DISPLAY.d3quarternion && display_data.angle_display == QUARTERNION_DISPLAY.euler)
|
||||
return quarternionFromEuler(value[0], value[1], value[2]);
|
||||
|
||||
#region color compatibility [ color, palette, gradient ]
|
||||
if(type == VALUE_TYPE.gradient && typeFrom == VALUE_TYPE.color) {
|
||||
if(is_instanceof(value, gradientObject))
|
||||
|
@ -1716,9 +1719,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
|
||||
val = arrayBalance(val);
|
||||
|
||||
if(value_from != noone && display_type == VALUE_DISPLAY.d3quarternion && display_data.angle_display == QUARTERNION_DISPLAY.euler)
|
||||
val = quarternionFromEuler(val[0], val[1], val[2]);
|
||||
|
||||
if(isArray(val) && array_length(val) < 1024) { #region Process data
|
||||
var _val = array_create(array_length(val));
|
||||
for( var i = 0, n = array_length(val); i < n; i++ )
|
||||
|
@ -1902,13 +1902,6 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
} else
|
||||
val = ds_list_empty(animator.values)? 0 : animator.processType(animator.values[| 0].value);
|
||||
|
||||
if(display_type == VALUE_DISPLAY.d3quarternion) {
|
||||
switch(display_data.angle_display) {
|
||||
case QUARTERNION_DISPLAY.quarterion : return val;
|
||||
case QUARTERNION_DISPLAY.euler : return quarternionToEuler(val[0], val[1], val[2], val[3]);
|
||||
}
|
||||
}
|
||||
|
||||
return val;
|
||||
} #endregion
|
||||
|
||||
|
@ -1974,7 +1967,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
return array_length(ar);
|
||||
} #endregion
|
||||
|
||||
static setValue = function(val = 0, record = true, time = CURRENT_FRAME, _update = true) { #region
|
||||
static setValue = function(val = 0, record = true, time = CURRENT_FRAME, _update = true) { #region //Set value
|
||||
val = unit.invApply(val);
|
||||
return setValueDirect(val, noone, record, time, _update);
|
||||
} #endregion
|
||||
|
@ -2002,24 +1995,16 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
|||
var _node = PANEL_INSPECTOR.inspectings[i];
|
||||
if(ind >= ds_list_size(_node.inputs)) continue;
|
||||
|
||||
var r = _node.inputs[| ind].setValueInspectorDirect(val, index);
|
||||
var r = _node.inputs[| ind].setValueDirect(val, index);
|
||||
if(_node == node) res = r;
|
||||
}
|
||||
} else {
|
||||
res = setValueInspectorDirect(val, index);
|
||||
res = setValueDirect(val, index);
|
||||
}
|
||||
|
||||
return res;
|
||||
} #endregion
|
||||
|
||||
static setValueInspectorDirect = function(val = 0, index = noone) {
|
||||
if(display_type == VALUE_DISPLAY.d3quarternion && display_data.angle_display == QUARTERNION_DISPLAY.euler) {
|
||||
var _qval = quarternionFromEuler(-val[0], -val[1], -val[2]);
|
||||
return setValueDirect(_qval);
|
||||
}
|
||||
return setValueDirect(val, index);
|
||||
}
|
||||
|
||||
static setValueDirect = function(val = 0, index = noone, record = true, time = CURRENT_FRAME, _update = true) { #region
|
||||
is_modified = true;
|
||||
var updated = false;
|
||||
|
|
Loading…
Reference in a new issue