[SKKU DT] 62일차 -AI 알아보기, 기업 특강, 챗봇 생성하기, 블렌더 스크립트 생성

2024. 1. 29. 18:17SKKU DT

728x90
반응형

<프로젝트 관련 공지>

-팀당 4~5명

 

디지털 트윈 관련 주제

에너지 생산시설 모니터링 - 개인 프로젝트처럼 기본적으로 들어가야하는 기능에 대해서 가이드 들어갈 예정. 기능은 포함하는 선에서 주제는 다양하게

그 이후에 진행되는 재해, 스마트 시티 둘 중에 하나를 선정해서 크게 하나 가져가도 되고, 재해와 스마트시티 둘 다 진행해도 된다. 둘 다 진행하는 것을 추천. 하나만 하다 지칠 수 있음.

주제가 둘 안에서 이루어지면 좋은데 트윈 주제만 부합하기만 해도 된다. 팀원 모드가 협의된 주제에 대해서만.

팀 구성 2월 26일 확정, 주제도 그 날 확정

첫 프로젝트는 합을 맞춰보는 느낌, 각자가 잘 하는 것을 체크, 이후 프로젝트에서 효과적으로 진행할 수 있게끔.

큰 카테고리 하나를 정하긴 해야해.

진짜 하고 싶은 카테고리 하나 먼저 정하기가 수월하다. 디테일 너무 잡지 말고..........................................

에너지 프로젝트는 개인 프로젝트와 비슷한 수준의 가이드. 9~10개정도?

에셋은 자유롭게 사용 가능.


 

 

네이버 Cue

 

Cue:

새로운 네이버 AI 검색 Cue: 네이버 검색은 사용자에게 최상의 답변을 제공하기 위해 끊임없이 도전을 해왔습니다. 그리고 이제 네이버의 AI 기술이 집약된 Cue:를 통해 새로운 검색 경험을 선보이

cue.search.naver.com

 

Lilys AI

 

Lilys AI : 릴리스에이아이 - 영상을 넣으면 깔끔한 요약노트로

릴리스에이아이(Lilys AI)에서 영상의 요약 노트를 몇 분만에 만들고, PDF에서 여러분이 원하는 것을 더 쉽게 찾아보세요

lilys.ai

영상에 대한 요약과 설명, 심지어는 영상을 기반으로 AI와 채팅도 나눌 수 있다.

 

 


 

 

녹원정보기술

MWU 2023 참고

 

 

MWU KOREA AWARD 2023

Made with Unity Korea Awards 2023

unitysquare.co.kr

 

 

녹원정보기술 -홍성범 상무님

NCS 디지털트윈 기획/설계/구축

총 인원 30명쯤, 60% 정도 30대 초/ 26~30대 초 / 팀장 40대 초

너무 취업 걱정을 안해도 된다

 

디지털 트윈-피지컬하게 진짜 있는 것 ex)네비게이션, 버스정보시스템, 지하철 도착 정보

메타버스-게임이다. 가상 공간을 만들어 놓는 것

비지니스, 프로세스에는 중심점이 있어야 한다. ex)탄소 중립이라는 구심점

 

관제 시스템 -CCTV

 

현실세계를 복제 -> 가상 시스템에서 현실세계를 관제 -> 가상 시뮬레이션을 통한 현실세계 최적화

 

프로세스 -실제로는 정해진 프로세스대로 잘 이루어지지 않는다.(재난 대피) 디지털 트윈으로는 시각화로 표현할 수 있다.

 

Architecture

-Data Collection -MQTT, Rest API, TCP -온습도, GPS, RFID, LiDar....

-Intelligent Vision -Intelligent CCTV, VMS Interface...

 

스마트시티 디지털 트윈 시스템

-인구 통계 등 국가 공공 데이터

-세종시 정책 정보

-인구 활동 데이터...

 

기존 운영 데이터 연동 + 실시간 정보전송 장비 + CCTV -> 3D 기반 지능형 통합관리 시스템

 

PTC, Dassault -SI 형식으로 다른 기업 디지털 트윈 프로젝트를 한다.

 

GIS 엔진 -esri, Gaia3D, 올포랜드, 택배 정보

 

 

항만인프라관제시스템

1. 아키텍쳐, 플랫폼 설계

2. 3D 모델 디자인 및 모델링, GIS 정보 입력, 서버 및 데이터 연동

 

갤럭시 워치로 해녀 위치, SOS, 선원 관리 프로젝트

 

VR 기반 교육

 

 

RockwonIT Global

RockwonIT Global - Spatial Digital Twin & MetaVerse Company

www.youtube.com

 

 


 

 

NCS 참고

https://ncs.go.kr/unity/th03/ncsResultSearch.do

 

NCS 국가직무능력표준, NCS 블라인드채용

NCS 메인에서 국가직무능력표준(National Competency Standards) 및 블라인드 채용에 대한 다양한 정보와 유용한 컨텐츠를 만나 보세요

www.ncs.go.kr

 

 

 


 

 

건물 디지털 트윈 -에너지 분야

UI 참고

 

 


 

 

UIUX 시안 만들기 - 화면 구성 어떻게 할 건지

 

건설기술연구원 - 센서 제공, 값을 DB에 넣으면 DB에서 긁어오기만 하면 된다.

위험도의 판정은 건설기술연구원이 한다.

시뮬레이션 툴 사용 없이 유니티에서 사용했다. 숫자만 달라도 결과값이 달라진다.

 

시뮬레이션 중 0.1, 0.2가 들어왔을 때의 시각화 옵션을 구성해야 하는지?

-미팅으로 건기원 등의 연구소와 얘기해서 유니티에서 시각화 한다.

ex)날씨 정보 -기상청 Open API 허브 활용, 16가지 날씨 정보 중 5개만 뽑아서 유니티 씬에 적용. 실시간으로 몇 번 정보가 들어오면 날씨에 적용되도록. 분 단위로 API 불러오기. 건물 센서는 15분 단위로.

 

 


 

 

wrtn 챗봇 생성하기

줄임말 생성 챗봇을 만들어보았다.

 

 

다른 예) 자소서 부풀려주는 챗봇

 

 

챗GPT로 이미지 생성 예시

 

 


 

 

ChatGPT를 이용해서 유니티 C# 스크립트 만들기

위의 캡쳐 사진처럼 chatGPT에게 스크립트를 요청하고 유니티에 적용해본다.

 

 

GameManager를 만들고 스크립트를 넣은 후 필요한 컴포넌트를 채우고 실행하면 잘 된다.

 

 

 

방향을 랜덤으로 바꾼다고 하면 알아서 스크립트가 수정되어 생성된다.

 

 

0.5초마다 생성으로 바꾸고, 각 구마다의 랜덤 색상 부여한 결과는 아래와 같다.

 

 


 

 

Blender 파이썬 스크립트 생성

import bpy
import random

# Clear existing mesh objects
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_by_type(type='MESH')
bpy.ops.object.delete()

# Create 100 cubes with random positions
for i in range(100):
    x = random.uniform(-5.0, 5.0)
    y = random.uniform(-5.0, 5.0)
    z = random.uniform(0.0, 5.0)

    bpy.ops.mesh.primitive_cube_add(size=1, location=(x, y, z))

print("Random cubes created.")

 

 

위의 스크립트를 Blender의 [Scripting] 메뉴에 넣고 실행하면, 큐브가 생성된다.

 

 

Render Engine이나 Max Samples 수를 바꿀 수도 있다.

 

 

큐브 100개의 색을 랜덤으로 설정하는 스크립트

import bpy
import random

# Set render engine to Cycles
bpy.context.scene.render.engine = 'CYCLES'

# Set viewport min and max samples
bpy.context.scene.cycles.samples = 64
bpy.context.scene.cycles.preview_samples = 32

# Clear existing mesh objects
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_by_type(type='MESH')
bpy.ops.object.delete()

# Create 100 cubes with random positions and colors
for i in range(100):
    x = random.uniform(-5.0, 5.0)
    y = random.uniform(-5.0, 5.0)
    z = random.uniform(0.0, 5.0)

    # Create cube
    bpy.ops.mesh.primitive_cube_add(size=1, location=(x, y, z))
    cube = bpy.context.active_object

    # Set random color
    material = bpy.data.materials.new(name=f"Material_{i}")
    material.use_nodes = False
    material.diffuse_color = (random.random(), random.random(), random.random(), 1.0)

    if cube.data.materials:
        cube.data.materials[0] = material
    else:
        cube.data.materials.append(material)

print("Render engine set to Cycles. Viewport samples updated. Cubes created with random colors.")

728x90
반응형