원통형 에지 섭디비전 먹이려 할때 Subdivide Smooth하면 아래처럼 지글지글하게 된다
이럴때
Subdivide Edge-Ring을 먹이면 깨끗하게 된다
'블렌더' 카테고리의 다른 글
블렌더 텍스처링 관련 (0) | 2024.04.06 |
---|---|
블렌더 백그라운드 이미지 (0) | 2024.03.29 |
MYAトレーナーセット 작업일지 (0) | 2024.03.14 |
원통형 에지 섭디비전 먹이려 할때 Subdivide Smooth하면 아래처럼 지글지글하게 된다
이럴때
Subdivide Edge-Ring을 먹이면 깨끗하게 된다
블렌더 텍스처링 관련 (0) | 2024.04.06 |
---|---|
블렌더 백그라운드 이미지 (0) | 2024.03.29 |
MYAトレーナーセット 작업일지 (0) | 2024.03.14 |
Selenium.WebDriver입력후 설치
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium;
public static class Crawling
{
public static void Run()
{
driver = new ChromeDriver();
driver.Url = "https://www.google.com";
driver.FindElement(By.Name("q")).SendKeys("webdriver" + System.Windows.Forms.Keys.Return);
Console.WriteLine(driver.Title);
driver.Quit();
}
}
그리고 코드 만들어서 실행하면 된다
이 코드는 아래 공식사이트의 기본 예제이다
https://www.nuget.org/packages/Selenium.WebDriver
자주 쓰는 크롤링 관련 코드 (0) | 2023.10.16 |
---|---|
코레일 크롤링 (0) | 2023.10.16 |
네이버 사전 크롤링 (0) | 2023.05.19 |
https://ahzkwid.booth.pm/items/5632873
여기서 다운 가능
using UdonSharp;
using UnityEngine;
using UnityEngine.UI;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.None)]
public class AutomaticShadowDistance : UdonSharpBehaviour
{
public Light directionalLight;
public float frameCheckTimeCycle = 3f;
int playerLayerIndex = 9;
public Vector2 targetFps = new Vector2(30, 60);
public Vector2 defaultShadowDistance = new Vector2(10, 80);
public Vector2 playerShadowDistance = new Vector2(1,15);
float tPre = 2;
void UpdateShadowDistance(float t)
{
var defaultShadowDistanceMin = defaultShadowDistance.x;
var defaultShadowDistanceMax = defaultShadowDistance.y;
var playerShadowDistanceMin = playerShadowDistance.x;
var playerShadowDistanceMax = playerShadowDistance.y;
var targetDistanceDefault = Mathf.Lerp(defaultShadowDistanceMin, defaultShadowDistanceMax, t);
var targetDistancePlayer = Mathf.Lerp(playerShadowDistanceMin, playerShadowDistanceMax, t);
{
//QualitySettings.shadowDistance = targetDistanceDefault;
}
{
var ShadowCullDistances = new float[32];
//ShadowCullDistances[0] = Mathf.Lerp(ShadowCullDistances[0], targetDistanceDefault, 0.1f);
ShadowCullDistances[0] = targetDistanceDefault;
ShadowCullDistances[11] = ShadowCullDistances[0];
ShadowCullDistances[13] = ShadowCullDistances[0];
ShadowCullDistances[14] = ShadowCullDistances[0];
ShadowCullDistances[playerLayerIndex] = targetDistancePlayer;
ShadowCullDistances[10] = ShadowCullDistances[playerLayerIndex];
ShadowCullDistances[18] = ShadowCullDistances[playerLayerIndex];
directionalLight.layerShadowCullDistances = ShadowCullDistances;
//Camera.main.layerCullDistances = ShadowCullDistances;
}
}
LightShadows shadowType = LightShadows.Soft;
void Start()
{
//if (directionalLight==null)
//{
// /*
// var lights = FindObjectsOfType<Light>();
// foreach (var light in lights)
// {
// if (light.type==LightType.Directional)
// {
// directionalLight = light;
// }
// }
// */
// /*
// var light= FindObjectOfType<Light>();
// if (light.type == LightType.Directional)
// {
// directionalLight = light;
// }
// */
//}
if (directionalLight.shadows != LightShadows.None)
{
shadowType = directionalLight.shadows;
}
UpdateShadowDistance(0);
lastCheckTime = 0;
}
float lastCheckTime = 0;
int frameCount = 0;
public Toggle toggle;
public Slider slider;
public GameObject lockPanel;
public bool alwaysUseShdow = true;
bool CheckT(float t)
{
return ((Mathf.Abs(t - tPre) > 0.1f)
|| ((t == 0) && (tPre < 0.1f))
|| ((t == 1) && (tPre > 0.9f)));
}
void Update()
{
var useShadowOff = !alwaysUseShdow;
var toggleManual = toggle;
lockPanel.SetActive(toggleManual.isOn == false);
var useShadowOffvalue = 0.1f;
if (toggleManual.isOn)
{
if (slider.value > useShadowOffvalue)
{
var t = (slider.value - useShadowOffvalue) * (1f / (1f- useShadowOffvalue));
if (CheckT(t))
{
UpdateShadowDistance(t);
tPre = t;
}
if (useShadowOff)
{
if (directionalLight.shadows == LightShadows.None)
{
directionalLight.shadows = shadowType;
}
}
}
else
{
if (useShadowOff)
{
if (directionalLight.shadows != LightShadows.None)
{
directionalLight.shadows = LightShadows.None;
}
}
}
}
else
{
frameCount++;
if (Time.time - lastCheckTime >= frameCheckTimeCycle)
{
var fps = 0f;
if (Time.deltaTime > 0)
{
fps = 1f / Time.deltaTime;
}
if (frameCheckTimeCycle > 0.1f)
{
fps = frameCount / frameCheckTimeCycle;
}
var min = targetFps.x;
var max = targetFps.y;
var t = (Mathf.Clamp(fps, min, max) - min) / (max - min);
/*
if ((Mathf.Abs(t - tPre) > 0.1f)
|| ((t == 0) && (tPre < 0.1f))
|| ((t == 1) && (tPre > 0.9f)))
*/
if (CheckT(t))
{
UpdateShadowDistance(t);
tPre = t;
}
if (Time.time > 10)
{
if (useShadowOff)
{
if (directionalLight.shadows == LightShadows.None)
{
if (t > 0.8f)
{
directionalLight.shadows = shadowType;
}
}
else
{
if (fps < min / 2)
{
directionalLight.shadows = LightShadows.None;
}
}
}
}
if (directionalLight.shadows == LightShadows.None)
{
slider.value = 0f;
}
else
{
slider.value = useShadowOffvalue + t * (1f- useShadowOffvalue);
}
frameCount = 0;
lastCheckTime = Time.time;
}
}
}
}
c# Dictionary(딕셔너리) 관련 (0) | 2024.03.19 |
---|---|
자주 쓰는 DateTime 코드 모음 (0) | 2023.12.19 |
Path 연산 (0) | 2023.09.09 |
인간이 미개해서 존재했던게 아니다.
사랑하는 사람이 반려동물을 잃고 저세상에서라도 다시 만날수 있겠지?라고 슬피 우는데
그 누가 잔혹한 현실을 말할수 있을까?
이런 거짓말들이 모여 탄생한 동화인것이다
전생은 가능할까? (0) | 2023.12.28 |
---|---|
중첩현상이 발생하는이유 (0) | 2023.11.25 |
종교의 탄생 (0) | 2022.12.19 |
에셋을 팔다보니 내가 만든 툴들 동봉해야 하는경우 많았는데 버전충돌 방지하려고 서로 다른 네임스페이스 넣는건 좋았는데 하나하나 일일히 넣으려니 ㅈㄴ 귀찮았다
이렇게 하면 파일별로 네임스페이스 수정 안 하고 저거 두개만 수정하면 된다
끝
게임개발용 부하테스트 2024 (0) | 2024.02.27 |
---|---|
텍스처 메모리와 성능과의 연관성 (0) | 2024.02.27 |
유니티 모델 임포트 에러 (0) | 2024.02.24 |
https://twitter.com/ahzkwid/status/1724202667294282118
화력발전소 송전단 열효율 38%에 송변전 손실 4% 감안하면
약 36.5%니까 단순계산으로 가스요금보다 2.74배 높아야 하니까
가스비 8만원 나오는 사람이면 22만원 나온다는 결론이 나옴.
참고로 전기에너지를 열에너지로 바꾸는 효율은 99%에 근접해서 에너지 소비 효율을 따로 붙이지 않는다
뱃살 고양이 춤 노래 (0) | 2024.04.06 |
---|---|
콧소리 비비비 비비비비 (0) | 2024.01.25 |
유튜브 사이비 과학 모음 (0) | 2023.12.24 |
Cat Dancing to EDM 라는 밈이다
https://www.youtube.com/watch?v=E3RcD6LleYU
노래는 ben 10 le bao remix
https://www.youtube.com/watch?v=AXOCuq6XZP8
왜 전기->열로 바꾸는건 요금폭탄나올까? (0) | 2024.04.16 |
---|---|
콧소리 비비비 비비비비 (0) | 2024.01.25 |
유튜브 사이비 과학 모음 (0) | 2023.12.24 |
앰비언트 오클루전 보면서 칠하면 감 잡기 좋다
이거 쓰면 UV상에서 페인팅 가능
블렌더 Subdivide Smooth 깨끗하게 먹이기 (0) | 2024.04.26 |
---|---|
블렌더 백그라운드 이미지 (0) | 2024.03.29 |
MYAトレーナーセット 작업일지 (0) | 2024.03.14 |