MAX로 DMX LED 색상 변경(추가: Unity 조명 색상 변경)
색깔을 간단하게 바꾸고 싶어요.
상상의 색깔이 되고 싶어서.
swatch 객체를 사용했습니다.
마침 DMX 기자재와 동일한 0~255의 RGB를 반환해야 하므로 별도로 채널을 설정해야 합니다.
(커브의 일관성 여부는 확실하지 않지만 대체로 양호함)
다음 [pak40]은 채널을 나타냅니다.
이 기종에도 W 같은 것이 있다.(더 밝아질 것 같다)
이렇게 사용하고 있습니다.
[sdmx] 앞에 [dmxusbpro] 대상이 있습니다.
자세한 내용은 지난번 기사DMX를 Max로 구동(조명)를 참조하십시오.
조명의 고조
조명 기자재는 RGB의 밝기와 달리 Dimming(조광)이라는 쇠락이 있다.
이 위상의 밝기를 곱하다.
중점으로 삼다
이 채널(이곳은 3ch)의 초기값이면 아무리 RGB 채널을 변경해도 빛이 나지 않는 경우가 있다.
반짝거리고.
DMX가 제어하는 상황에서 같은 채널에서는 다양한 특별 공연이 제공됩니다.
반짝임 같은 주기도 기종에 따라 다르기 때문에 맞추기가 어려울 수 있다.
이 [if] 대상과 [zmap]의 동작은 다른 기재와 간단하고 비슷하다.
두 번째는 10ch와 이 디밍과 관련된 0-127 조광이고, 128-256은 플래시 공연인 것 같다.
11, 12, 13ch는 RGB입니다.
(조명 장비의 경우 DMX의 시작 채널은 10)
Unity로 OSC 보내기
유닛에 OSC를 보내고 싶어서.
udpsend도 보내고 있습니다.
참조: NEAREAL UnityOSC에서 OSC 수신/MaxMSP로 전송
Unity로 OSC 수신
Unity 내 조명도 같은 RGB로 바뀌어 있다.
약간 회전하거나 고장이 났지만 색이 바뀐 곳이 움직이고 있어 소스도 넣는다.
OSCController.csusing System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OSCController : MonoBehaviour {
public Light sport1;
public Light sport2;
public Light sport3;
public GameObject go;
public string serverId = "MaxMSP";
public string serverIp = "127.0.0.1";
public int serverPort = 12000;
// Use this for initialization
void Start () {
OSCHandler.Instance.Init(this.serverId, this.serverIp, this.serverPort);
to = go.transform;
from = go.transform;
}
private long latestTimeStamp = 0;
public Transform from = null;
public Transform to = null;
public float rotationSpeed = 10.0f;
// Update is called once per frame
void Update () {
OSCHandler.Instance.UpdateLogs();
foreach (KeyValuePair<string, ServerLog> item in OSCHandler.Instance.Servers)
{
if (item.Value.packets.Count == 0)
{
continue;
}
int latestPacketIndex = item.Value.packets.Count - 1;
if (this.latestTimeStamp == item.Value.packets[latestPacketIndex].TimeStamp)
{
continue;
}
this.latestTimeStamp = item.Value.packets[latestPacketIndex].TimeStamp;
Debug.Log("Receive : "
+ item.Value.packets[latestPacketIndex].TimeStamp
+ " / "
+ item.Value.packets[latestPacketIndex].Address
+ " / "
+ item.Value.packets[latestPacketIndex].Data[0]
//+ item.Value.packets[latestPacketIndex].Data[1]
//+ item.Value.packets[latestPacketIndex].Data[2]
);
if (item.Value.packets [latestPacketIndex].Address == "/color") {
Color newColor = new Color ((int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f,
(int)item.Value.packets [latestPacketIndex].Data [1] / 255.0f,
(int)item.Value.packets [latestPacketIndex].Data [2] / 255.0f
);
sport1.color = newColor;
sport2.color = newColor;
sport3.color = newColor;
}
if (item.Value.packets [latestPacketIndex].Address == "/rotate") {
//go.transform.Rotate (0, (int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f * 360.0f, 0);
to.transform.Rotate (0, (((int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f) - 0.5f )*180.0f , 0);
}
float rotationStep = rotationSpeed * Time.deltaTime;
Quaternion rotation = Quaternion.RotateTowards (from.rotation, to.rotation, rotationStep);
from.rotation = rotation;
}
}
}
비디오: 목소리로 유닛 화면 밖을 밝게 해줬어요.
Reference
이 문제에 관하여(MAX로 DMX LED 색상 변경(추가: Unity 조명 색상 변경)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatmos/items/0156f14c0c2b075fecb8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[sdmx] 앞에 [dmxusbpro] 대상이 있습니다.
자세한 내용은 지난번 기사DMX를 Max로 구동(조명)를 참조하십시오.
조명의 고조
조명 기자재는 RGB의 밝기와 달리 Dimming(조광)이라는 쇠락이 있다.
이 위상의 밝기를 곱하다.
중점으로 삼다
이 채널(이곳은 3ch)의 초기값이면 아무리 RGB 채널을 변경해도 빛이 나지 않는 경우가 있다.
반짝거리고.
DMX가 제어하는 상황에서 같은 채널에서는 다양한 특별 공연이 제공됩니다.
반짝임 같은 주기도 기종에 따라 다르기 때문에 맞추기가 어려울 수 있다.
이 [if] 대상과 [zmap]의 동작은 다른 기재와 간단하고 비슷하다.
두 번째는 10ch와 이 디밍과 관련된 0-127 조광이고, 128-256은 플래시 공연인 것 같다.
11, 12, 13ch는 RGB입니다.
(조명 장비의 경우 DMX의 시작 채널은 10)
Unity로 OSC 보내기
유닛에 OSC를 보내고 싶어서.
udpsend도 보내고 있습니다.
참조: NEAREAL UnityOSC에서 OSC 수신/MaxMSP로 전송
Unity로 OSC 수신
Unity 내 조명도 같은 RGB로 바뀌어 있다.
약간 회전하거나 고장이 났지만 색이 바뀐 곳이 움직이고 있어 소스도 넣는다.
OSCController.csusing System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OSCController : MonoBehaviour {
public Light sport1;
public Light sport2;
public Light sport3;
public GameObject go;
public string serverId = "MaxMSP";
public string serverIp = "127.0.0.1";
public int serverPort = 12000;
// Use this for initialization
void Start () {
OSCHandler.Instance.Init(this.serverId, this.serverIp, this.serverPort);
to = go.transform;
from = go.transform;
}
private long latestTimeStamp = 0;
public Transform from = null;
public Transform to = null;
public float rotationSpeed = 10.0f;
// Update is called once per frame
void Update () {
OSCHandler.Instance.UpdateLogs();
foreach (KeyValuePair<string, ServerLog> item in OSCHandler.Instance.Servers)
{
if (item.Value.packets.Count == 0)
{
continue;
}
int latestPacketIndex = item.Value.packets.Count - 1;
if (this.latestTimeStamp == item.Value.packets[latestPacketIndex].TimeStamp)
{
continue;
}
this.latestTimeStamp = item.Value.packets[latestPacketIndex].TimeStamp;
Debug.Log("Receive : "
+ item.Value.packets[latestPacketIndex].TimeStamp
+ " / "
+ item.Value.packets[latestPacketIndex].Address
+ " / "
+ item.Value.packets[latestPacketIndex].Data[0]
//+ item.Value.packets[latestPacketIndex].Data[1]
//+ item.Value.packets[latestPacketIndex].Data[2]
);
if (item.Value.packets [latestPacketIndex].Address == "/color") {
Color newColor = new Color ((int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f,
(int)item.Value.packets [latestPacketIndex].Data [1] / 255.0f,
(int)item.Value.packets [latestPacketIndex].Data [2] / 255.0f
);
sport1.color = newColor;
sport2.color = newColor;
sport3.color = newColor;
}
if (item.Value.packets [latestPacketIndex].Address == "/rotate") {
//go.transform.Rotate (0, (int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f * 360.0f, 0);
to.transform.Rotate (0, (((int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f) - 0.5f )*180.0f , 0);
}
float rotationStep = rotationSpeed * Time.deltaTime;
Quaternion rotation = Quaternion.RotateTowards (from.rotation, to.rotation, rotationStep);
from.rotation = rotation;
}
}
}
비디오: 목소리로 유닛 화면 밖을 밝게 해줬어요.
Reference
이 문제에 관하여(MAX로 DMX LED 색상 변경(추가: Unity 조명 색상 변경)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatmos/items/0156f14c0c2b075fecb8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
유닛에 OSC를 보내고 싶어서.
udpsend도 보내고 있습니다.
참조: NEAREAL UnityOSC에서 OSC 수신/MaxMSP로 전송
Unity로 OSC 수신
Unity 내 조명도 같은 RGB로 바뀌어 있다.
약간 회전하거나 고장이 났지만 색이 바뀐 곳이 움직이고 있어 소스도 넣는다.
OSCController.csusing System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OSCController : MonoBehaviour {
public Light sport1;
public Light sport2;
public Light sport3;
public GameObject go;
public string serverId = "MaxMSP";
public string serverIp = "127.0.0.1";
public int serverPort = 12000;
// Use this for initialization
void Start () {
OSCHandler.Instance.Init(this.serverId, this.serverIp, this.serverPort);
to = go.transform;
from = go.transform;
}
private long latestTimeStamp = 0;
public Transform from = null;
public Transform to = null;
public float rotationSpeed = 10.0f;
// Update is called once per frame
void Update () {
OSCHandler.Instance.UpdateLogs();
foreach (KeyValuePair<string, ServerLog> item in OSCHandler.Instance.Servers)
{
if (item.Value.packets.Count == 0)
{
continue;
}
int latestPacketIndex = item.Value.packets.Count - 1;
if (this.latestTimeStamp == item.Value.packets[latestPacketIndex].TimeStamp)
{
continue;
}
this.latestTimeStamp = item.Value.packets[latestPacketIndex].TimeStamp;
Debug.Log("Receive : "
+ item.Value.packets[latestPacketIndex].TimeStamp
+ " / "
+ item.Value.packets[latestPacketIndex].Address
+ " / "
+ item.Value.packets[latestPacketIndex].Data[0]
//+ item.Value.packets[latestPacketIndex].Data[1]
//+ item.Value.packets[latestPacketIndex].Data[2]
);
if (item.Value.packets [latestPacketIndex].Address == "/color") {
Color newColor = new Color ((int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f,
(int)item.Value.packets [latestPacketIndex].Data [1] / 255.0f,
(int)item.Value.packets [latestPacketIndex].Data [2] / 255.0f
);
sport1.color = newColor;
sport2.color = newColor;
sport3.color = newColor;
}
if (item.Value.packets [latestPacketIndex].Address == "/rotate") {
//go.transform.Rotate (0, (int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f * 360.0f, 0);
to.transform.Rotate (0, (((int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f) - 0.5f )*180.0f , 0);
}
float rotationStep = rotationSpeed * Time.deltaTime;
Quaternion rotation = Quaternion.RotateTowards (from.rotation, to.rotation, rotationStep);
from.rotation = rotation;
}
}
}
비디오: 목소리로 유닛 화면 밖을 밝게 해줬어요.
Reference
이 문제에 관하여(MAX로 DMX LED 색상 변경(추가: Unity 조명 색상 변경)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatmos/items/0156f14c0c2b075fecb8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OSCController : MonoBehaviour {
public Light sport1;
public Light sport2;
public Light sport3;
public GameObject go;
public string serverId = "MaxMSP";
public string serverIp = "127.0.0.1";
public int serverPort = 12000;
// Use this for initialization
void Start () {
OSCHandler.Instance.Init(this.serverId, this.serverIp, this.serverPort);
to = go.transform;
from = go.transform;
}
private long latestTimeStamp = 0;
public Transform from = null;
public Transform to = null;
public float rotationSpeed = 10.0f;
// Update is called once per frame
void Update () {
OSCHandler.Instance.UpdateLogs();
foreach (KeyValuePair<string, ServerLog> item in OSCHandler.Instance.Servers)
{
if (item.Value.packets.Count == 0)
{
continue;
}
int latestPacketIndex = item.Value.packets.Count - 1;
if (this.latestTimeStamp == item.Value.packets[latestPacketIndex].TimeStamp)
{
continue;
}
this.latestTimeStamp = item.Value.packets[latestPacketIndex].TimeStamp;
Debug.Log("Receive : "
+ item.Value.packets[latestPacketIndex].TimeStamp
+ " / "
+ item.Value.packets[latestPacketIndex].Address
+ " / "
+ item.Value.packets[latestPacketIndex].Data[0]
//+ item.Value.packets[latestPacketIndex].Data[1]
//+ item.Value.packets[latestPacketIndex].Data[2]
);
if (item.Value.packets [latestPacketIndex].Address == "/color") {
Color newColor = new Color ((int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f,
(int)item.Value.packets [latestPacketIndex].Data [1] / 255.0f,
(int)item.Value.packets [latestPacketIndex].Data [2] / 255.0f
);
sport1.color = newColor;
sport2.color = newColor;
sport3.color = newColor;
}
if (item.Value.packets [latestPacketIndex].Address == "/rotate") {
//go.transform.Rotate (0, (int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f * 360.0f, 0);
to.transform.Rotate (0, (((int)item.Value.packets [latestPacketIndex].Data [0] / 255.0f) - 0.5f )*180.0f , 0);
}
float rotationStep = rotationSpeed * Time.deltaTime;
Quaternion rotation = Quaternion.RotateTowards (from.rotation, to.rotation, rotationStep);
from.rotation = rotation;
}
}
}
Reference
이 문제에 관하여(MAX로 DMX LED 색상 변경(추가: Unity 조명 색상 변경)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tatmos/items/0156f14c0c2b075fecb8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)