使用LSL的openvibe和unity3d连接

时间:2018-07-29 05:02:16

标签: unity3d

我进行了很多搜索,但找不到解决问题的明确方法,因此我想在这里提出。我希望我能从这里得到正确的答案。

我已经在OPenVibe(这是一个开源软件)中设计了EEG神经反馈方案。我想使用LSL将openvibe的输出信号发送到unity3d程序。

开放式振动的输出信号是8-13HZ(EEG中的alpha频带)频带的绝对值。在unity3d中,我已经创建了3d立方体对象,我将该对象命名为AlphaBar。此AlphaBar对象的目的是将8-13Hz频段的绝对值显示为垂直条。现在,我想将此对象链接到来自openvibe的传入LSL流。这意味着当8-13Hz的绝对功率值增加时,竖线在垂直方向上增加,而当8-13Hz的绝对功率值减小时,垂直条也在垂直方向上减小。

我已经从GitHub获得了LSL4Unity,并将其包含在unity3d中。我遵循here中的示例教程。然后按照本教程的分步操作,编写以下代码

void extractPdfTexts(String file) {
    File myFile = new File(file);
    String output;
    try (PDDocument pdDocument = PDDocument.load(myFile)) {
        PDFTextStripper pdfTextStripper = new PDFTextStripper();
        pdfTextStripper.setSortByPosition(true);
        output = pdfTextStripper.getText(pdDocument);
        System.out.println(output);
    } catch (InvalidPasswordException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

然后,我转到操作AlphaBar对象的代码,并编写以下代码

    let str = "https://jsonplaceholder.typicode.com/comments"
    let url = URL(string: str)
    Alamofire.request(url! ,  method: .get).responseJSON { (dataResponse) in

        print(dataResponse.result.value)
        if dataResponse.result.isSuccess {
            if let arrCommentsJson = dataResponse.result.value! as? [[String: Any]] {
                for comment in arrCommentsJson {
                    let dictName = comment["name"]
                    let dictBody = comment["body"]
                    let comment = Comment.init(commentName: dictName, commentBody: dictBody)
                    self.comments.append(comment)

                }
                    self.commentTableJson.reloadData()
            }
        }
    }

但是我无法根据输入流垂直更改Alpha条。 如何解决这个问题。

0 个答案:

没有答案