Discuz! Board
标题:
[代码|Code]实体平移变换|Entity Translation Transformat
[打印本页]
作者:
Jerry小坏
时间:
2017-7-13 16:52
标题:
[代码|Code]实体平移变换|Entity Translation Transformat
Set Entity Origin Forward:
new Float: vAng[3], Float: vec[3];
pev( Client, pev_v_angle, vAng );
angle_vector( vAng, 2, vec );
new Float: vec2[3];
/* Forward */
vec2[0] = vec[0];
vec2[1] = vec[1];
vec2[2] = vec[2] + -1.0;
new Float: vecForward[3];
xs_vec_cross( vec, vec2, vecForward );
xs_vec_normalize(vecForward, vecForward);
new Float: org[3];
pev( Client, pev_origin, org );
/* Distance */
org[0] = ( vecForward[0] * 150.0 ) + org[0];
org[1] = ( vecForward[1] * 150.0 ) + org[1];
org[2] = ( vecForward[2] * 150.0 ) + org[2];
set_pev( Client, pev_origin, org );
复制代码
Set Entity Origin Backward:
new Float: vAng[3], Float: vec[3];
pev( Client, pev_v_angle, vAng );
angle_vector( vAng, 2, vec );
new Float: vec2[3];
/* Backward */
vec2[0] = vec[0];
vec2[1] = vec[1];
vec2[2] = vec[2] + 1.0;
new Float: vecBackward[3];
xs_vec_cross( vec, vec2, vecBackward );
xs_vec_normalize(vecBackward, vecBackward);
new Float: org[3];
pev( Client, pev_origin, org );
/* Distance */
org[0] = ( vecBackward[0] * 150.0 ) + org[0];
org[1] = ( vecBackward[1] * 150.0 ) + org[1];
org[2] = ( vecBackward[2] * 150.0 ) + org[2];
set_pev( Client, pev_origin, org );
复制代码
Set Entity Origin Leftward:
new Float: vAng[3], Float: vec[3];
pev( Client, pev_v_angle, vAng );
/* Leftward */
vAng[1] -= 90.0
angle_vector( vAng, 2, vec );
new Float: vec2[3];
vec2[0] = vec[0];
vec2[1] = vec[1];
vec2[2] = vec[2] + 1.0;
new Float: vecLeftward[3];
xs_vec_cross( vec, vec2, vecLeftward );
xs_vec_normalize(vecLeftward, vecLeftward);
new Float: org[3];
pev( Client, pev_origin, org );
org[0] = ( vecLeftward[0] * 150.0 ) + org[0];
org[1] = ( vecLeftward[1] * 150.0 ) + org[1];
org[2] = ( vecLeftward[2] * 150.0 ) + org[2];
set_pev( Client, pev_origin, org );
复制代码
Set Entity Origin Rightward:
new Float: vAng[3], Float: vec[3];
pev( Client, pev_v_angle, vAng );
/* Rightward */
vAng[1] += 90.0
angle_vector( vAng, 2, vec );
new Float: vec2[3];
vec2[0] = vec[0];
vec2[1] = vec[1];
vec2[2] = vec[2] + 1.0;
new Float: vecRightward[3];
xs_vec_cross( vec, vec2, vecRightward );
xs_vec_normalize(vecRightward, vecRightward);
new Float: org[3];
pev( Client, pev_origin, org );
org[0] = ( vecRightward[0] * 150.0 ) + org[0];
org[1] = ( vecRightward[1] * 150.0 ) + org[1];
org[2] = ( vecRightward[2] * 150.0 ) + org[2];
set_pev( Client, pev_origin, org );
复制代码
欢迎光临 Discuz! Board (https://esfbbs.foxnyx.top/)
Powered by Discuz! X3.2