tag:blogger.com,1999:blog-32276929765747138642024-03-14T04:59:03.277+09:00Blenderで遊ぶ(Production diary)The main content is the process of creating the game engine assets currently being created.eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.comBlogger1263125tag:blogger.com,1999:blog-3227692976574713864.post-70694734838176574352024-02-01T12:10:00.003+09:002024-02-01T12:10:48.009+09:00Room Reflect Shooter MRリリース<p><a href="https://www.meta.com/ja-jp/experiences/7082792821834790/">https://www.meta.com/ja-jp/experiences/7082792821834790/</a></p><p><br /></p><p><br /></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-62571937445899565172024-01-24T14:02:00.003+09:002024-01-24T14:02:38.464+09:00Room Reflect Shooter MR privacy policy<p>1. Data Collection Explanation:<br />Our app does not collect any personal data from users. We respect your privacy and ensure that no personal information is gathered.<br /><br />2. Data Usage Explanation:<br />Since our app does not collect any personal data, we do not use any user data for any purpose.<br /><br />3. Data Deletion Policy:<br />As no personal data is collected or stored by our app, there is no need for a data deletion request. <br /><br />4. Data Protection Compliance:<br />Our organization and app comply with data protection regulations. We do not collect or store any user data, thereby eliminating the risk of security vulnerabilities related to data privacy.</p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-2324081883692121522024-01-24T13:57:00.001+09:002024-01-24T14:03:43.174+09:00Room Reflect Shooter MR<p><b> Overview:</b></p><p>This is an MR shooting game consisting of three stages. In the entrance scene, you select a stage and click the start button to begin each stage. Enemies appear on the walls of the real room, and you shoot them down with fireballs released by pulling the controller's trigger. The fireballs reflect off the walls of the real room. The game ends after a set time, resulting in either game clearance or the appearance of a boss. Defeating the boss results in game clearance. Upon clearing the game, your score is recorded based on the type of enemies defeated, with rankings up to the top 10.</p><p><b>Detailed Instructions and Cautions:</b></p><p>-If the walls matching the room's shape do not appear in the entrance scene, the room model setup is incomplete; close the app and perform a room scan in the settings.</p><p>If you don't know how to set it up, you can also scan the room model by running the First Encounter app for Quest3.</p><p>-In the entrance, you can reset the position of the menu panel using the start button on the left controller.</p><p>-During the game, pressing the start button on the left controller toggles the hand menu display.</p><p>In the entrance or hand menu, you can toggle the music and controller vibration on and off.</p><p>-You can fire up to five fireballs at once.</p><p>-Fireballs disappear after hitting an enemy, yourself, or after five seconds.</p><p>-Fireballs, whether yours or the enemy's, cause damage if they hit your head, and the game ends in game over if you take a certain amount of damage.<br /><br /><br /><a href="https://eizouasobi.blogspot.com/2024/01/room-reflect-shooter-mr-privacy-policy.html" target="_blank">Privacy Policy</a></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-51629362554619608692023-12-14T13:15:00.003+09:002023-12-14T13:15:36.677+09:00UnityでGeminiを使用する<p>↓ChatGPTさんにドキュメント読んでもらって書いてもらったものそのまま</p><p><br />using UnityEngine;</p><p>using UnityEngine.Networking;</p><p>using System.Collections;</p><p><br /></p><p>public class GoogleGeminiAPI : MonoBehaviour</p><p>{</p><p> private string apiKey = "A"; // APIキーを設定</p><p> private string apiUrl = "https://generativelanguage.googleapis.com/v1beta3/models/text-bison-001:generateText";</p><p><br /></p><p> void Start()</p><p> {</p><p> StartCoroutine(SendRequestToGemini("Write a story about a magic backpack"));</p><p> }</p><p><br /></p><p> IEnumerator SendRequestToGemini(string promptText)</p><p> {</p><p> string requestData = "{\"prompt\": {\"text\": \"" + promptText + "\"}}";</p><p> byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(requestData);</p><p><br /></p><p> UnityWebRequest request = new UnityWebRequest(apiUrl + "?key=" + apiKey, "POST");</p><p> request.uploadHandler = new UploadHandlerRaw(bodyRaw);</p><p> request.downloadHandler = new DownloadHandlerBuffer();</p><p> request.SetRequestHeader("Content-Type", "application/json");</p><p><br /></p><p> yield return request.SendWebRequest();</p><p><br /></p><p> if (request.result != UnityWebRequest.Result.Success)</p><p> {</p><p> Debug.LogError("Error: " + request.error);</p><p> }</p><p> else</p><p> {</p><p> Debug.Log("Response: " + request.downloadHandler.text);</p><p> // ここでレスポンスの処理を行います</p><p> }</p><p> }</p><p>}</p><div><br /></div>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-35746345348739402112023-11-20T11:01:00.004+09:002023-11-20T11:01:49.260+09:00奥の物体を描画しなくなるシェーダー(VR,MR向け)<p> Shader "Custom/OcclusionShader" {</p><p> Properties{</p><p> _Color("Main Color", Color) = (1,1,1,1)</p><p> }</p><p> SubShader{</p><p> Tags { "RenderType" = "Opaque" }</p><p> LOD 100</p><p><br /></p><p> Pass {</p><p> Stencil {</p><p> Ref 1</p><p> Comp always</p><p> Pass replace</p><p> }</p><p><br /></p><p> CGPROGRAM</p><p> #pragma vertex vert</p><p> #pragma fragment frag</p><p> #include "UnityCG.cginc"</p><p><br /></p><p> struct appdata {</p><p> float4 vertex : POSITION;</p><p> float3 normal : NORMAL;</p><p> UNITY_VERTEX_INPUT_INSTANCE_ID </p><p> };</p><p><br /></p><p> struct v2f {</p><p> float4 pos : SV_POSITION;</p><p> UNITY_VERTEX_OUTPUT_STEREO </p><p> };</p><p><br /></p><p> fixed4 _Color;</p><p><br /></p><p> v2f vert(appdata v) {</p><p> v2f o;</p><p> UNITY_SETUP_INSTANCE_ID(v); </p><p> UNITY_INITIALIZE_OUTPUT(v2f, o); </p><p> UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); </p><p><br /></p><p> o.pos = UnityObjectToClipPos(v.vertex);</p><p> return o;</p><p> }</p><p><br /></p><p> fixed4 frag(v2f i) : SV_Target {</p><p> return fixed4(0,0,0,0); // Render invisible color</p><p> }</p><p> ENDCG</p><p> }</p><p><br /></p><p> Pass {</p><p> Stencil {</p><p> Ref 1</p><p> Comp notequal</p><p> Pass keep</p><p> }</p><p><br /></p><p> CGPROGRAM</p><p> #pragma vertex vert</p><p> #pragma fragment frag</p><p> #include "UnityCG.cginc"</p><p><br /></p><p> struct appdata {</p><p> float4 vertex : POSITION;</p><p> float3 normal : NORMAL;</p><p> UNITY_VERTEX_INPUT_INSTANCE_ID </p><p> };</p><p><br /></p><p> struct v2f {</p><p> float4 pos : SV_POSITION;</p><p> UNITY_VERTEX_OUTPUT_STEREO </p><p> };</p><p><br /></p><p> fixed4 _Color;</p><p><br /></p><p> v2f vert(appdata v) {</p><p> v2f o;</p><p> UNITY_SETUP_INSTANCE_ID(v); </p><p> UNITY_INITIALIZE_OUTPUT(v2f, o); </p><p> UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); </p><p> o.pos = UnityObjectToClipPos(v.vertex);</p><p> return o;</p><p> }</p><p><br /></p><p> fixed4 frag(v2f i) : SV_Target {</p><p> // Render with object color</p><p> return _Color;</p><p> }</p><p> ENDCG</p><p> }</p><p> }</p><p> FallBack "Diffuse"</p><p>}</p><div><br /></div>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-15878542174683760832023-11-17T18:08:00.003+09:002023-11-20T10:43:35.623+09:00GPT-4Vを使ってカメラ画像とテキストを用いて対話する<p> using UnityEngine;</p><p>using System.Collections;</p><p>using UnityEngine.Networking;</p><p>using System;</p><p>using TMPro;</p><p>using Newtonsoft.Json;</p><p>using System.Collections.Generic; </p><p><br /></p><p>public class ImageRequester : MonoBehaviour</p><p>{</p><p> private string apiURL = "https://api.openai.com/v1/chat/completions";</p><p> private string apiKey = "APIKey"; </p><p> public Camera mainCamera;</p><p> public RenderTexture renderTexture;</p><p> public TMP_Text tmpText;</p><p> public bool TextVisible = false;</p><p><br /></p><p> private List<Message> conversationHistory = new List<Message>();</p><p><br /></p><p><br /></p><p><br /></p><p> [System.Serializable]</p><p> public class ChatRequest</p><p> {</p><p> public string model = "gpt-4-vision-preview";</p><p> public Message[] messages;</p><p> public int max_tokens = 300;</p><p> }</p><p><br /></p><p> [System.Serializable]</p><p> public class Message</p><p> {</p><p> public string role;</p><p> public Content[] content;</p><p> }</p><p><br /></p><p> [Serializable]</p><p> public class Content</p><p> {</p><p> public string type;</p><p> public string text;</p><p> public ImageURL image_url;</p><p> }</p><p> </p><p> [Serializable]</p><p> public class ImageURL</p><p> {</p><p> public string url;</p><p> }</p><p><br /></p><p> [Serializable]</p><p> public class ResponseData</p><p> {</p><p> public Choice[] choices;</p><p><br /></p><p> [Serializable]</p><p> public class Choice</p><p> {</p><p> public Message message;</p><p> }</p><p><br /></p><p> [Serializable]</p><p> public class Message</p><p> {</p><p> public string content;</p><p> }</p><p> }</p><p><br /></p><p><br /></p><p> private string ParseResponse(string response)</p><p> {</p><p> try</p><p> {</p><p> ResponseData data = JsonConvert.DeserializeObject<ResponseData>(response);</p><p> if (data != null && data.choices != null && data.choices.Length > 0 && data.choices[0].message != null)</p><p> {</p><p> return data.choices[0].message.content;</p><p> }</p><p> }</p><p> catch (Exception e)</p><p> {</p><p> Debug.LogError("Error parsing response: " + e.Message);</p><p> }</p><p> return string.Empty;</p><p> }</p><p><br /></p><p><br /></p><p> void Start()</p><p> {</p><p> conversationHistory.Add(new Message</p><p> {</p><p> role = "system",</p><p> content = new[]</p><p> {</p><p> new Content { type = "text", text = "あなたは親切なアシスタントです。" }</p><p> }</p><p> });</p><p> }</p><p><br /></p><p><br /></p><p> public void RequestButtonClicked(string prompt)</p><p> {</p><p> if (tmpText.IsActive())</p><p> {</p><p> tmpText.gameObject.SetActive(false);</p><p><br /></p><p> }</p><p> else</p><p> {</p><p> tmpText.gameObject.SetActive(true);</p><p> tmpText.text = "";</p><p> ImageRequestToGPT(prompt);</p><p><br /></p><p> }</p><p> }</p><p><br /></p><p> public void ImageRequestToGPT(string prompt)</p><p> {</p><p><br /></p><p> Debug.Log("Button Clicked. Requesting image description...");</p><p><br /></p><p> mainCamera.targetTexture = renderTexture;</p><p> mainCamera.Render();</p><p> </p><p> RenderTexture.active = renderTexture;</p><p> Texture2D image = new Texture2D(renderTexture.width, renderTexture.height);</p><p> image.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);</p><p> image.Apply();</p><p><br /></p><p> tmpText.text = "Start requesting image description...";</p><p> </p><p> byte[] imageBytes = image.EncodeToPNG();</p><p> string base64Image = Convert.ToBase64String(imageBytes);</p><p><br /></p><p> mainCamera.targetTexture = null;</p><p> RenderTexture.active = null; </p><p><br /></p><p> StartCoroutine(CallOpenAIVisionAPI(prompt,base64Image)); </p><p> Destroy(image);</p><p> }</p><p><br /></p><p><br /></p><p> IEnumerator CallOpenAIVisionAPI(string prompt, string base64Image)</p><p> {</p><p> var request = new UnityWebRequest(apiURL, "POST");</p><p> Message newMessage = new Message</p><p> {</p><p> role = "user",</p><p> content = new[]</p><p> {</p><p> new Content { type = "text", text = prompt },</p><p> new Content { type = "image_url", image_url = new ImageURL{url=$"data:image/png;base64,{base64Image}" } }</p><p> }</p><p> };</p><p><br /></p><p> conversationHistory.Add(newMessage);</p><p><br /></p><p> Message[] messagesToSend = conversationHistory.ToArray();</p><p> ChatRequest chatRequest = new ChatRequest { messages = messagesToSend };</p><p><br /></p><p><br /></p><p><br /></p><p> var settings = new JsonSerializerSettings</p><p> {</p><p> NullValueHandling = NullValueHandling.Ignore</p><p> };</p><p><br /></p><p> string jsonPayload = JsonConvert.SerializeObject(chatRequest, settings);</p><p><br /></p><p> Debug.Log("jsonPayload" + jsonPayload);</p><p><br /></p><p><br /></p><p> request.uploadHandler = new UploadHandlerRaw(System.Text.Encoding.UTF8.GetBytes(jsonPayload));</p><p> request.downloadHandler = new DownloadHandlerBuffer();</p><p> request.SetRequestHeader("Content-Type", "application/json");</p><p> request.SetRequestHeader("Authorization", $"Bearer {apiKey}");</p><p><br /></p><p><br /></p><p> yield return request.SendWebRequest();</p><p><br /></p><p><br /></p><p> if (request.isNetworkError || request.isHttpError)</p><p> {</p><p> Debug.LogError($"Error: {request.error}");</p><p> }</p><p> else</p><p> {</p><p><br /></p><p> string description = ParseResponse(request.downloadHandler.text);</p><p> Debug.Log("Description: " + description);</p><p><br /></p><p> tmpText.text = description;</p><p><br /></p><p> }</p><p> }</p><p>}</p><div><br /></div>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-12666705468388748452023-10-19T19:11:00.003+09:002023-10-19T21:58:10.724+09:00 The Meshes of ModularAnimalRobotBiped<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8s6LaEvg4Zi8_0thOEVYrw9Zd9PPIml3ADWe701-qCOI4-vbwrurRRCvC0jc25U2likET8W2pqu6UlylqcdSpsO5_s3dNfFtx4mEzpwC42qo7hhTkiRFuavgc5HOdq5S_E5EOS-Xe3-fZfGdbxVIdw7T1gTxgEbgNOgySP-0PvN_e1LuXilO3H1kMfkAb/s1270/tails.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="504" data-original-width="1270" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8s6LaEvg4Zi8_0thOEVYrw9Zd9PPIml3ADWe701-qCOI4-vbwrurRRCvC0jc25U2likET8W2pqu6UlylqcdSpsO5_s3dNfFtx4mEzpwC42qo7hhTkiRFuavgc5HOdq5S_E5EOS-Xe3-fZfGdbxVIdw7T1gTxgEbgNOgySP-0PvN_e1LuXilO3H1kMfkAb/s320/tails.png" width="320" /></a></div><div>Tails</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn8xnr3E_NO4eAEoU9k0HvffHdSYcRVrYDZcadXL9ElJ6cJT0PB8Tfld0QQ1rbPfLhswG3OF0Uf611TXWm7bsLeqtALTqWOiTPNRglh18XxQ8kaJMrkp6ej8FpCtIA_RziJ0NsdZCqMBgC7qyBXYDH_hjojGbi_59TOB6zFmBXyzE7v6WkOvMVcsNOzcm2/s1354/powerparts.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="583" data-original-width="1354" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn8xnr3E_NO4eAEoU9k0HvffHdSYcRVrYDZcadXL9ElJ6cJT0PB8Tfld0QQ1rbPfLhswG3OF0Uf611TXWm7bsLeqtALTqWOiTPNRglh18XxQ8kaJMrkp6ej8FpCtIA_RziJ0NsdZCqMBgC7qyBXYDH_hjojGbi_59TOB6zFmBXyzE7v6WkOvMVcsNOzcm2/s320/powerparts.png" width="320" /></a></div>Power parts<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3aP4a7V2ToJHFsYb_yvwSX00q-k-qIKMX1kAJerqU6Lr97D5mrn5RH5Gz5f81lNx_dI_uQOY7X0H4WeUES8Sv-EOx0XQhNtZAoe-zP2qbjFEBMHFRTTRnhvVOj8rjqdujIBy_DKqt-CcvDTN5KBGcZnbf6Q31Iho1bSb7r6O6BO5x8K1GeZuQPhAYn8V-/s1214/pelvises.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="565" data-original-width="1214" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3aP4a7V2ToJHFsYb_yvwSX00q-k-qIKMX1kAJerqU6Lr97D5mrn5RH5Gz5f81lNx_dI_uQOY7X0H4WeUES8Sv-EOx0XQhNtZAoe-zP2qbjFEBMHFRTTRnhvVOj8rjqdujIBy_DKqt-CcvDTN5KBGcZnbf6Q31Iho1bSb7r6O6BO5x8K1GeZuQPhAYn8V-/s320/pelvises.png" width="320" /></a></div>Pelvises<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrTSkwTASQCG0_Vkzl4Za1SUDwVj59wxnRq70SAdLxXx6-wrr1tt44LsIrxLi6Cn2K97vl8KwaeF05Hilhr2am8LnQZFOni8SWZTyyfGhbzs3dtg1sBLsvRPp-kXh1jMDUPvBNyaU4Wae7WciS-j3itdE03i-2dic3y58L6rCvRMxOLepNLU7-cwnQcyzm/s692/necks.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="692" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrTSkwTASQCG0_Vkzl4Za1SUDwVj59wxnRq70SAdLxXx6-wrr1tt44LsIrxLi6Cn2K97vl8KwaeF05Hilhr2am8LnQZFOni8SWZTyyfGhbzs3dtg1sBLsvRPp-kXh1jMDUPvBNyaU4Wae7WciS-j3itdE03i-2dic3y58L6rCvRMxOLepNLU7-cwnQcyzm/s320/necks.png" width="320" /></a></div>Necks<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIXvgZTXmW69IJefY_q8etFnSZAYEQ81huVwPl_W2AEJ9tfRU6a1RTFXVkwwynWtX0MpxRFN7Qg7tGXaNC-BtKg6bcgP-Qv48zKmApXM1OVq764U3j1HBzQNfZ8gUWjOaMLzKB6mjuEOGa2bzJrW_ENONj4a8nHfJt6dmX9T78HfjQtwCHwRiROb8fL1lW/s998/legs.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="658" data-original-width="998" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIXvgZTXmW69IJefY_q8etFnSZAYEQ81huVwPl_W2AEJ9tfRU6a1RTFXVkwwynWtX0MpxRFN7Qg7tGXaNC-BtKg6bcgP-Qv48zKmApXM1OVq764U3j1HBzQNfZ8gUWjOaMLzKB6mjuEOGa2bzJrW_ENONj4a8nHfJt6dmX9T78HfjQtwCHwRiROb8fL1lW/s320/legs.png" width="320" /></a></div>Legs<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB1HJf4ZjB4l7MFyjJ7gu3z5a4SYx59W898vGMnTGhZyI3o65Bt_SnbjNUHq4oAYlWj2AiRjIY8eKd8Tgki25nAsMp1nPG6u4PkTyf2AvBj5QGjdjOPOyCOn9WmbHLeJqoRPAIH45g78C3HvNoGwZljqQupo990BjkhHnXupQHHjA4Gzz9OekBxDo7_BKT/s973/heads.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="973" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB1HJf4ZjB4l7MFyjJ7gu3z5a4SYx59W898vGMnTGhZyI3o65Bt_SnbjNUHq4oAYlWj2AiRjIY8eKd8Tgki25nAsMp1nPG6u4PkTyf2AvBj5QGjdjOPOyCOn9WmbHLeJqoRPAIH45g78C3HvNoGwZljqQupo990BjkhHnXupQHHjA4Gzz9OekBxDo7_BKT/s320/heads.png" width="320" /></a></div>Heads<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjRTJOGjTLfHYKuKcGjqGV3nur_05TWef3fegtn8geogAoDg_qT163oQXdRsfJCb1NrLuyPOobSZ6UV_VnFYvlF0as3Q6q5z6Cix15Wt7V6fjaIjyO03pn5e0a2n-3ANZai2Gpbi5Mki8Xhd4G0K9-hzF-8KQ9DS4cBg3_zJ5AwYVeOrVJrwcFsbIYR7i9/s782/bodies.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="499" data-original-width="782" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjRTJOGjTLfHYKuKcGjqGV3nur_05TWef3fegtn8geogAoDg_qT163oQXdRsfJCb1NrLuyPOobSZ6UV_VnFYvlF0as3Q6q5z6Cix15Wt7V6fjaIjyO03pn5e0a2n-3ANZai2Gpbi5Mki8Xhd4G0K9-hzF-8KQ9DS4cBg3_zJ5AwYVeOrVJrwcFsbIYR7i9/s320/bodies.png" width="320" /></a></div>Bodies</div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdaffgmlkeT5d8vgMnKWxJ3lD-wni_P9-Z_XeWXe4TPoql4Ig9huHPPXZMHgCYOnwq9oQlJr2rnHlsKAOmdbu3YiyazDF6D2NxLAYsIdvCIYWTk3Fr25dyyxD_-yBqQrvmUqy-PtqnlbfcllPAisqzo1P7TfAcGC34VLLeFMOhT_5LSfcUPhXnOoWNs3v2/s1447/arms.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="622" data-original-width="1447" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdaffgmlkeT5d8vgMnKWxJ3lD-wni_P9-Z_XeWXe4TPoql4Ig9huHPPXZMHgCYOnwq9oQlJr2rnHlsKAOmdbu3YiyazDF6D2NxLAYsIdvCIYWTk3Fr25dyyxD_-yBqQrvmUqy-PtqnlbfcllPAisqzo1P7TfAcGC34VLLeFMOhT_5LSfcUPhXnOoWNs3v2/s320/arms.png" width="320" /></a></div>Arms<p></p></div></div></div></div></div>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-22168750275260059902023-10-19T19:01:00.002+09:002023-10-19T19:02:00.129+09:00Animation patterns of ModularAnimalRobotBiped<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAtvYaYX9a7lTmw3xXLXXpoKc0GymdkgZGxT9h9PGxhm2WU4vJAFJfIknew03wU3q7yEner-L7owsf1m77nel2RFx7zzjtlBOtnQ20dChBqXoGGOHCIJmCcjPqIiDHNhbnq974QS65wWtM4c1ktli5Mnbopl2L6-jXtvePD1KRh3jGZaC9mX8BWazYqZHG/s1111/pelvisAnimations.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="591" data-original-width="1111" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAtvYaYX9a7lTmw3xXLXXpoKc0GymdkgZGxT9h9PGxhm2WU4vJAFJfIknew03wU3q7yEner-L7owsf1m77nel2RFx7zzjtlBOtnQ20dChBqXoGGOHCIJmCcjPqIiDHNhbnq974QS65wWtM4c1ktli5Mnbopl2L6-jXtvePD1KRh3jGZaC9mX8BWazYqZHG/s320/pelvisAnimations.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHlS7DxMJpNCy_70MiWwR8il5aoI2GkjOaixxfcAbL66gfUcKpcht582tTZrOT5qBDPwyAVCqd3X99po4Q68E4jXSWwtnHS6T-l7ymVa0jAiFQ2SgiP-3E1xoVoNgz6mgENbkH_UEgRYZGEB05uU_VqLz4ZVb-GKRrfN9MLS8VMJwuarSfaGp_tj23vgWw/s1108/neckAnimations.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="791" data-original-width="1108" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHlS7DxMJpNCy_70MiWwR8il5aoI2GkjOaixxfcAbL66gfUcKpcht582tTZrOT5qBDPwyAVCqd3X99po4Q68E4jXSWwtnHS6T-l7ymVa0jAiFQ2SgiP-3E1xoVoNgz6mgENbkH_UEgRYZGEB05uU_VqLz4ZVb-GKRrfN9MLS8VMJwuarSfaGp_tj23vgWw/s320/neckAnimations.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWxvj2h4w-Aj3z69RM3uLy6sEcYjjl9kO9UeKVijqFTAZHYAaAjhra37_Vh1k0vg1wxJ9VO7oDmi0oP02u-kp8CX6Kc62Pyh0VXcu_gV-MnCwxIe-jgl_ArmyrBYuTYRGlIdZOrTx35NftLZ2PuAoyok4d3sCLGdgCuJ1B_tdKLgIRlzPZ6cD7rFuKq_K1/s1113/Leganimations.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="809" data-original-width="1113" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWxvj2h4w-Aj3z69RM3uLy6sEcYjjl9kO9UeKVijqFTAZHYAaAjhra37_Vh1k0vg1wxJ9VO7oDmi0oP02u-kp8CX6Kc62Pyh0VXcu_gV-MnCwxIe-jgl_ArmyrBYuTYRGlIdZOrTx35NftLZ2PuAoyok4d3sCLGdgCuJ1B_tdKLgIRlzPZ6cD7rFuKq_K1/s320/Leganimations.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRvr-bLiwpcJZImdYGxP8b60q8LeykPstefPrPpVD_oC7SgdzTy8_LUC6v1JCzNq_SEV7sRJHnrQE21IDCr4s03knvVMwxEFjgnflMA3_0yJKF862gp3AkysjsMeRuSA3o8VpjX3wpEHfDMAHOSoPyfrrdesxVyFrsMElIkmQaHZCZh10P1pj5SlQhi11f/s1115/headanimations.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="463" data-original-width="1115" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRvr-bLiwpcJZImdYGxP8b60q8LeykPstefPrPpVD_oC7SgdzTy8_LUC6v1JCzNq_SEV7sRJHnrQE21IDCr4s03knvVMwxEFjgnflMA3_0yJKF862gp3AkysjsMeRuSA3o8VpjX3wpEHfDMAHOSoPyfrrdesxVyFrsMElIkmQaHZCZh10P1pj5SlQhi11f/s320/headanimations.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMzACm4pN4zt9kTqzOv7YBXINvYfhwkNjkxNY9I3wIslStv5AWq8Vi7Fq9FEK0Jyl5T9SWqSogPzXNhXXgHnCeGu9yRO_8CkDMX0zokSJrvbOua1OiK0VIlwy3sAyKcDRAUzCkRX3KXG7EgN4zfUBGCScE6roVbznNlYojM1E3Dp-vey3aUM6hGKJPCcC2/s1352/bodyanimation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="1352" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMzACm4pN4zt9kTqzOv7YBXINvYfhwkNjkxNY9I3wIslStv5AWq8Vi7Fq9FEK0Jyl5T9SWqSogPzXNhXXgHnCeGu9yRO_8CkDMX0zokSJrvbOua1OiK0VIlwy3sAyKcDRAUzCkRX3KXG7EgN4zfUBGCScE6roVbznNlYojM1E3Dp-vey3aUM6hGKJPCcC2/s320/bodyanimation.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9e7eKFG3nkq_BDwLktl1_oRheIhFtCpHMv7gHIPAx-BBw9SpB4sfA5kC7za6BNwdzfXYX8NHwEQoRNjLwZyBPNeWPVhIkKKvqAkfHaCN6awy0v46HyhjuRSJDInM0tACNBhNMFht0ihdsiD2JishaqO076e0KCiTQ3-UJ6glHS7WTyl3Ds6-W6fjq3BwP/s1111/ArmAnimations.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="602" data-original-width="1111" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9e7eKFG3nkq_BDwLktl1_oRheIhFtCpHMv7gHIPAx-BBw9SpB4sfA5kC7za6BNwdzfXYX8NHwEQoRNjLwZyBPNeWPVhIkKKvqAkfHaCN6awy0v46HyhjuRSJDInM0tACNBhNMFht0ihdsiD2JishaqO076e0KCiTQ3-UJ6glHS7WTyl3Ds6-W6fjq3BwP/s320/ArmAnimations.png" width="320" /></a></div><br /><p></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-23018949213899961732023-10-19T18:14:00.006+09:002023-10-20T00:03:11.018+09:00How To Use ModularAnimalRobotBiped.<p><a href="https://www.youtube.com/watch?v=nUGIblZhw9Q">https://www.youtube.com/watch?v=nUGIblZhw9Q</a></p><p>Modular Animal Robot Biped is an asset that allows you to create
characters with various patterns by combining parts consisting of legs,
pelvis, torso, neck, head, tail, and arms.</p>
<br />You can change the mesh, material, and size of each part by opening
BP_AnimalRobotBipedAnimatedCharacter and changing the variable
AnimalRobotBipedPattern.
<br />
<br />- Three patterns of materials are available for each part.
<br />
<br />Materials can also be changed randomly in bulk.
<br />If you turn on IsChangeMaterialPattern, it will be set randomly, and if
you turn on IsFixMaterialPattern, it will be unified to the material
specified in FixedMaterialPattern.
<br />
<br />When RandomColor is turned on, a random parameter with a spread of
ColorRandomnessIntensity centered on CenterColor will be set to the
material.
<br />
<br />Turning on IsRandomMesh sets the mesh in a random pattern.
<br />When IsRandomSize is turned on, the size of each part will be set
randomly within the range of 0.8-1.2.
<br />
<br />When randomness is on, the variables change randomly each time you
change the variable.
<br />These randomnesses are applied when you spawn into the scene, so they
won't look the same in the viewport.
<br />If you have a pattern you want to use, use the variable values as follows.
<br />1. Copy the AnimalRobotBipedPattern of the character in the scene
<br />2.Open BP_AnimalRobotBipedAnimatedCharacter and turn off randomness.
<br />3. Paste the AnimalRobotBipedPattern.
<br />
<br />By using EUW_BipedCharacterAnimatedSpawn, you can place Xnumber x
Ynumber BP_AnimalRobotBipedAnimatedCharacters in a random pattern in the
scene.
<br />
<br />Control rigs are set on the legs and arms.
<br />The pelvic suspension has a spring that expands and contracts according
to your movements.
<br />
<br />In the demo scene, you can check the behavior of the third-person character.
<br />
<br />BP_AnimalRobotBipedProceduralCharacter is similar to
BP_AnimalRobotBipedAnimatedCharacter, but the walking animation is
procedural. eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-22003250442847996472023-10-19T09:43:00.006+09:002023-10-19T09:44:17.731+09:00画像サイズの一括変更<p>WindowsでImageMagick<br /><a href="https://imagemagick.org/index.php">https://imagemagick.org/index.php</a><br />でフォルダとサブフォルダ内のpng画像ファイルのサイズを1024x1024に変える方法<br />コマンドプロンプトでフォルダに移動し<br /><br /> forfiles /S /M *.png /C "cmd /c magick mogrify -resize 1024x1024 @path</p><p>を実行<br /><br /></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-75484681212981889952023-09-27T15:40:00.001+09:002023-09-27T15:40:06.547+09:00選択した複数のメッシュについてアーマチュアも含めて個別にFBXとしてエクスポートするBlender Pythonスクリプト<p> import bpy</p><p><br /></p><p># 選択されたメッシュオブジェクトを取得</p><p>selected_meshes = [obj for obj in bpy.context.selected_objects if obj.type == 'MESH']</p><p><br /></p><p>for mesh in selected_meshes:</p><p> # すべてのオブジェクトの選択を解除</p><p> bpy.ops.object.select_all(action='DESELECT')</p><p> </p><p> # メッシュを選択</p><p> mesh.select_set(True)</p><p> </p><p> # メッシュに関連付けられているアーマチュアを探す</p><p> armature = None</p><p> if mesh.parent and mesh.parent.type == 'ARMATURE':</p><p> armature = mesh.parent</p><p> armature.select_set(True)</p><p> </p><p> # アクティブなオブジェクトを設定 (エクスポートの際に必要)</p><p> bpy.context.view_layer.objects.active = mesh</p><p> </p><p> # FBXとしてエクスポート</p><p> bpy.ops.export_scene.fbx(</p><p> filepath=f"path_to_save/{mesh.name}.fbx",</p><p> use_selection=True,</p><p> mesh_smooth_type='FACE',</p><p> bake_anim=False,</p><p> add_leaf_bones=False,</p><p> primary_bone_axis='X',</p><p> secondary_bone_axis='Y',</p><p> global_scale=1.0</p><p> )</p><div><br /></div>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-16312890274346013952023-09-26T15:40:00.005+09:002023-09-27T15:38:14.627+09:00BlenderでFBXの一括Export<p>import bpy</p><p>import json</p><p><br /></p><p># テキストファイルからエクスポートリストを読み込む</p><p>with open("your_filepath/export_list.txt", "r") as file:</p><p> export_list = json.load(file)</p><p><br /></p><p># 各オブジェクトグループをFBXとしてエクスポート</p><p>for group in export_list:</p><p> # すべてのオブジェクトの選択を解除</p><p> bpy.ops.object.select_all(action='DESELECT')</p><p> </p><p> # グループ内のオブジェクトを選択</p><p> for obj_name in group:</p><p> obj = bpy.data.objects.get(obj_name)</p><p> if obj:</p><p> obj.select_set(True)</p><p> </p><p> # アクティブなオブジェクトを設定 (エクスポートの際に必要)</p><p> bpy.context.view_layer.objects.active = bpy.data.objects.get(group[0]) </p><p> </p><p> # FBXとしてエクスポート</p><p> bpy.ops.export_scene.fbx(</p><p> filepath=f"your_filepath/{group[0]}.fbx",<br /> #filepath=f"path_to_save/{'_'.join(group)}.fbx",</p><p> use_selection=True,<br /> # 出力設定色々</p><p> mesh_smooth_type='FACE',</p><p> bake_anim=False,</p><p> add_leaf_bones=False,</p><p> primary_bone_axis='X',</p><p> secondary_bone_axis='Y',</p><p> global_scale=0.01 </p><p> )<br /><br /><br /><br /><br /><br />----------------------------------------------------------------</p><p>[</p><p> ["Mesh1", "Armature1"],</p><p> ["Mesh2", "Mesh3"],</p><p> ["Armature1"]</p><p>]</p><div>みたいなテキストファイルを読み込んで使用する</div>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-49236837965971103252023-08-24T10:50:00.003+09:002023-08-24T10:53:28.546+09:00Change the texture group of the selected textures.<p> import unreal</p><p><br /></p><p># エディタ内で選択されたアセットを取得</p><p>selected_assets = unreal.EditorUtilityLibrary.get_selected_assets()</p><p><br /></p><p>for asset in selected_assets:</p><p> if isinstance(asset, unreal.Texture2D):</p><p> # Texture GroupをCharacterに設定</p><p> asset.set_editor_property('LODGroup', unreal.TextureGroup.TEXTUREGROUP_CHARACTER)</p><p> # アセットの変更を保存</p><p> unreal.EditorAssetLibrary.save_loaded_asset(asset)</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p> #他の値に変更する場合はTEXTUREGROUP_CHARACTERの代わりに以下のEnumを使用する</p><p> #<a href="https://docs.unrealengine.com/4.26/en-US/PythonAPI/class/TextureGroup.html">https://docs.unrealengine.com/4.26/en-US/PythonAPI/class/TextureGroup.html</a></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-17060382441920288832023-07-24T14:30:00.004+09:002023-07-24T14:30:43.484+09:00異なるアーマチュアからボーンの名前をコピーする<p>import bpy</p><p>import math</p><p><br /></p><p>def find_nearest_bone(target_bone, reference_armature):</p><p> min_distance = float('inf')</p><p> nearest_bone_name = None</p><p><br /></p><p> for bone in reference_armature.data.bones:</p><p> distance = (bone.head - target_bone.head).length</p><p> if distance < min_distance:</p><p> min_distance = distance</p><p> nearest_bone_name = bone.name</p><p><br /></p><p> return nearest_bone_name</p><p><br /></p><p># ArmatureAとArmatureBを取得</p><p>armature_a = bpy.data.objects.get("ArmatureA")</p><p>armature_b = bpy.data.objects.get("ArmatureB")</p><p><br /></p><p># ArmatureAがアーマチュアであることを確認</p><p>if armature_a and armature_a.type == 'ARMATURE':</p><p> # ArmatureBがアーマチュアであることを確認</p><p> if armature_b and armature_b.type == 'ARMATURE':</p><p><br /></p><p> # ArmatureAのボーンに対して処理を行う</p><p> for bone_a in armature_a.data.bones:</p><p> # ArmatureBの中で一番近いボーンを見つける</p><p> nearest_bone_name = find_nearest_bone(bone_a, armature_b)</p><p><br /></p><p> # ボーンの名前を変更</p><p> bone_a.name = nearest_bone_name</p><p><br /></p><p> else:</p><p> print("ArmatureB is not an armature.")</p><p>else:</p><p> print("ArmatureA is not an armature.")</p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-48857561886197559722023-06-12T10:50:00.006+09:002023-06-12T10:50:39.815+09:00ModularAnimalRobot(Allosaurus)<p> <br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHuZ9Ix4Br22X857UMA592-u1XQJokxSz9zQbVa2fqZ4QW17tq87UTyDdxtd1C30R8kPRsJceWByGMlEFmMOyccUSYBCGcqIq1xubCASXiPRsJ0_QnjwXJ3wQi_UrhbMajBIylY8tBjntZs_2EFKhhfRu43AJGhfCivZbL8sk4TYIR0_fV6h-7cDpmrw/s1709/allo3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="987" data-original-width="1709" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHuZ9Ix4Br22X857UMA592-u1XQJokxSz9zQbVa2fqZ4QW17tq87UTyDdxtd1C30R8kPRsJceWByGMlEFmMOyccUSYBCGcqIq1xubCASXiPRsJ0_QnjwXJ3wQi_UrhbMajBIylY8tBjntZs_2EFKhhfRu43AJGhfCivZbL8sk4TYIR0_fV6h-7cDpmrw/s320/allo3.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJnY2j555XF-JaHdrOVcVVCzRL5X2MqyvFrXBlVyY15ldCIl8mrlMEXzGVzxjMnmiqxPXXyjwhcNNIiZTZgr7iDkiUKqypjRZer11N5NzOTRRscXF_V0qC736Q8kF-YQgtxpXzsIlb1HYFwT-qMCS30t2b2EekxQaNJoXqQH_YfO4CK3EzUPA7ypZPPw/s1769/allo1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1034" data-original-width="1769" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJnY2j555XF-JaHdrOVcVVCzRL5X2MqyvFrXBlVyY15ldCIl8mrlMEXzGVzxjMnmiqxPXXyjwhcNNIiZTZgr7iDkiUKqypjRZer11N5NzOTRRscXF_V0qC736Q8kF-YQgtxpXzsIlb1HYFwT-qMCS30t2b2EekxQaNJoXqQH_YfO4CK3EzUPA7ypZPPw/s320/allo1.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXW9863ZOeCsQQ_-CPGddZFz9afW259TVhuFFiWJz-LrPvQ0mIRGNTsKlaNv_GZARHh6dRmXc1_rwp8kY1BDhEPc3To4Ovvt_UNhBI0vi4TicgnCr2J57w93H4qRsBvjZMDti1ftgBH355zEc2t8IFy6Wt1XFeJCK6uPV5cNFrp0-vRq_NxqLsAZomnQ/s1721/allo4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="974" data-original-width="1721" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXW9863ZOeCsQQ_-CPGddZFz9afW259TVhuFFiWJz-LrPvQ0mIRGNTsKlaNv_GZARHh6dRmXc1_rwp8kY1BDhEPc3To4Ovvt_UNhBI0vi4TicgnCr2J57w93H4qRsBvjZMDti1ftgBH355zEc2t8IFy6Wt1XFeJCK6uPV5cNFrp0-vRq_NxqLsAZomnQ/s320/allo4.png" width="320" /></a></div></div><br /><p></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-5950772469993634472023-05-26T19:40:00.001+09:002023-05-26T19:40:57.932+09:00メジロ<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmmZHPt91gefOBbD6RIwXqHn5IgeIadU1oDXv_TZqULm0H5FmDSezRwYWy6RDo28XgryZdjNIjWGONCkRD_AljOube_kn7YJHseWqw-6pkDRWKcBvTsnzKrX6hFSvAbK7AA6cK3xSFmnU38wykzpdVOWQpFlVc21MvSMTis7bAEBTRdfeixa35NZ7new/s1019/mejiro3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1019" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmmZHPt91gefOBbD6RIwXqHn5IgeIadU1oDXv_TZqULm0H5FmDSezRwYWy6RDo28XgryZdjNIjWGONCkRD_AljOube_kn7YJHseWqw-6pkDRWKcBvTsnzKrX6hFSvAbK7AA6cK3xSFmnU38wykzpdVOWQpFlVc21MvSMTis7bAEBTRdfeixa35NZ7new/s320/mejiro3.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCGIqcqKU0OvZuUmnlMsXovD9gEMgbvgGnjp1hVYhlHEt-27r2bgGfSEaYNsfFq-YFezngcLmPrWyaLbu-iKiZzUFpHHnLhBhVCsuzuCIjBRw51nwg5_h9nd3HkpPLq7M6-g1nCsKPKp_941JX1dn6xMtFVN9k84QmSjhZCJx5DaFGt3GeW7Y1DUQO4Q/s1214/mejiro2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="753" data-original-width="1214" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCGIqcqKU0OvZuUmnlMsXovD9gEMgbvgGnjp1hVYhlHEt-27r2bgGfSEaYNsfFq-YFezngcLmPrWyaLbu-iKiZzUFpHHnLhBhVCsuzuCIjBRw51nwg5_h9nd3HkpPLq7M6-g1nCsKPKp_941JX1dn6xMtFVN9k84QmSjhZCJx5DaFGt3GeW7Y1DUQO4Q/s320/mejiro2.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcs7sUAX3qGe5vGaf9Xp4Ih2k3jXZY9nsKP7hS7Q2wBHixjKyvNc4EDmDmT_kTE-Bhqi83gJOeIsXy-X5yAej__Ky_qSkUHFVoqGguieQCSYBQbNglnFvp-F6aBOwvDt6jFsB4_RjiSVmXpzW0qSnQKPDevICCsl6TiuEmixMxDUFJpCtpkpgMK6DNFQ/s1328/mejiro1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="846" data-original-width="1328" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcs7sUAX3qGe5vGaf9Xp4Ih2k3jXZY9nsKP7hS7Q2wBHixjKyvNc4EDmDmT_kTE-Bhqi83gJOeIsXy-X5yAej__Ky_qSkUHFVoqGguieQCSYBQbNglnFvp-F6aBOwvDt6jFsB4_RjiSVmXpzW0qSnQKPDevICCsl6TiuEmixMxDUFJpCtpkpgMK6DNFQ/s320/mejiro1.png" width="320" /></a></div><br /><p></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-64088671244727762792023-04-12T13:33:00.002+09:002023-04-12T13:36:19.301+09:00Copies keyframes of specific frame number of selected bones in pose mode to specified frame numbers.<p> import bpy</p><p><br /></p><p># キーフレームの番号リスト</p><p>keyframe_numbers = [1, 2] # このリストにコピー先のキーフレーム番号を追加してください。</p><p><br /></p><p># アクティブなオブジェクトがアーマチュアであることを確認</p><p>if bpy.context.object.type == 'ARMATURE':</p><p> armature = bpy.context.object</p><p> action = armature.animation_data.action</p><p><br /></p><p> # 選択中のボーンに対して処理を行う</p><p> for bone in armature.pose.bones:</p><p> if bone.bone.select:</p><p> bone_path = f'pose.bones["{bone.name}"].'</p><p><br /></p><p> # キーフレーム10の各F-Curveを探索</p><p> for fcurve in action.fcurves:</p><p> if fcurve.data_path.startswith(bone_path):</p><p> keyframe_10 = None</p><p><br /></p><p> # キーフレーム10の値を取得</p><p> for keyframe in fcurve.keyframe_points:</p><p> if keyframe.co[0] == 10:</p><p> keyframe_10 = keyframe</p><p> break</p><p><br /></p><p> # キーフレーム10が見つかった場合</p><p> if keyframe_10 is not None:</p><p> # 与えられた番号のリストのキーフレームにコピー</p><p> for kf_number in keyframe_numbers:</p><p> fcurve.keyframe_points.insert(kf_number, keyframe_10.co[1])</p><p><br /></p><p>else:</p><p> print("Error: Active object is not an armature.")</p><div><br /></div>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-66457632869777163132023-02-13T18:53:00.004+09:002023-02-13T18:55:13.330+09:00How to resize my blender market assets.<p>import bpy, mathutils</p><p><br /></p><p>armature_object = bpy.data.objects["VultureArmature"]</p><p>multiplier=3</p><p># Set the scale to multiplier</p><p>armature_object.scale *= multiplier</p><p><br /></p><p># set mode to object</p><p>bpy.ops.object.mode_set(mode='OBJECT')</p><p><br /></p><p># select the armature</p><p>armature_object.select_set(True)</p><p><br /></p><p># set the active object to the armature</p><p>bpy.context.view_layer.objects.active = armature_object</p><p><br /></p><p># apply the scale transformation</p><p>bpy.ops.object.transform_apply(scale=True)</p><p><br /></p><p> </p><p>Emptyaction1 = bpy.data.actions["VultureIKEmpty_L_Action"]</p><p><br /></p><p>for fcu in Emptyaction1.fcurves:</p><p> if "location" in fcu.data_path:</p><p> for keyframe in fcu.keyframe_points: </p><p> keyframe.co = (keyframe.co - mathutils.Vector((keyframe.co.x,0))) * multiplier + mathutils.Vector((keyframe.co.x,0)) </p><p> keyframe.interpolation='LINEAR' </p><p>Emptyaction2 = bpy.data.actions["VultureIKEmpty_R_Action"]</p><p><br /></p><p>for fcu in Emptyaction2.fcurves:</p><p> if "location" in fcu.data_path:</p><p> for keyframe in fcu.keyframe_points: </p><p> keyframe.co = (keyframe.co - mathutils.Vector((keyframe.co.x,0))) * multiplier + mathutils.Vector((keyframe.co.x,0)) </p><p> keyframe.interpolation='LINEAR' </p><p>action = bpy.data.actions["VultureArmatureAction"]</p><p><br /></p><p>for fcu in action.fcurves:</p><p> if "location" in fcu.data_path:</p><p> for keyframe in fcu.keyframe_points: </p><p> keyframe.co = (keyframe.co - mathutils.Vector((keyframe.co.x,0))) * multiplier + mathutils.Vector((keyframe.co.x,0)) </p><p> keyframe.interpolation='LINEAR' </p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-72379568567970245092023-02-02T15:59:00.003+09:002023-02-13T18:52:31.552+09:00異なるメッシュをShapeKeyのデータにする<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMryyZthtPblRRAePzT70Zw_qIzm4K2Qav1lZCWx26hQVpZRiJt7mkcNYOv46GBImmWLqqJsmCytXzMsCDCNllV4JVgfRmJr8sBi701FWoZJqnF94d4IMPmiVz5ZwtOY4ucrKVaFgXc6HSKRbHwxIs1-WdZkVY_K-RJw_wmE3p4hLqvEFM8gKYI3X5w/s1142/meshtoshapekey.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="752" data-original-width="1142" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNMryyZthtPblRRAePzT70Zw_qIzm4K2Qav1lZCWx26hQVpZRiJt7mkcNYOv46GBImmWLqqJsmCytXzMsCDCNllV4JVgfRmJr8sBi701FWoZJqnF94d4IMPmiVz5ZwtOY4ucrKVaFgXc6HSKRbHwxIs1-WdZkVY_K-RJw_wmE3p4hLqvEFM8gKYI3X5w/s320/meshtoshapekey.png" width="320" /></a></div><br /><br /><br /><br />import bpy<p></p><p><br /></p><p># Select the two meshes</p><p>mesh_a = bpy.data.objects["Cube"]</p><p>mesh_b = bpy.data.objects["Cube.001"]</p><p><br /></p><p># Assign the shape keys of Mesh B to Mesh A</p><p>mesh_b.shape_key_add(name='Basis', from_mix=False)</p><p>mesh_a.shape_key_add(name='Basis', from_mix=False)</p><p>mesh_a.shape_key_add(name='Morph1', from_mix=False)</p><p>bpy.ops.object.editmode_toggle()</p><p><br /></p><p>for i, vert_b in enumerate(mesh_b.data.vertices):</p><p> mesh_a.data.shape_keys.key_blocks["Morph1"].data[i].co = vert_b.co<br /><br /><br /><br /></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-53876468936480036222023-01-31T12:14:00.006+09:002023-02-02T12:01:17.844+09:00時計<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrvTFGQpjPVp-q51sPf6_4-6KKS3DCQ65OWvb-2ZH_6Tf94qjoeoe6albonoOUKa7n19ONad1j5eTw4rAwm4n7rYqY2NeEb9Z-05R8jkwR3KycBJkduDicKXpQuSpcgjrqm-aggtfcVTrgdTVMIhhHmRheoa-QyEzuGXbiZe-a5KSNvEAR1F-Yl8pr5g/s481/clock.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="477" data-original-width="481" height="317" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrvTFGQpjPVp-q51sPf6_4-6KKS3DCQ65OWvb-2ZH_6Tf94qjoeoe6albonoOUKa7n19ONad1j5eTw4rAwm4n7rYqY2NeEb9Z-05R8jkwR3KycBJkduDicKXpQuSpcgjrqm-aggtfcVTrgdTVMIhhHmRheoa-QyEzuGXbiZe-a5KSNvEAR1F-Yl8pr5g/s320/clock.png" width="320" /></a></div><br /><br /> <br /><span style="background-color: #343541; color: #ececf1; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;">時計を描くBlender Pythonスクリプトを書け。</span><br /><br /><span style="background-color: #444654; color: #d1d5db; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; white-space: pre-wrap;">以下は、BlenderのPythonスクリプトを使用して時計を作成する例です。これを修正または変更して、独自の画像を作成することができます。</span><br /><br /><div>import bpy</div><div>import math</div><div>from datetime import datetime</div><div><br /></div><div>def create_clock():</div><div> # Create a circle for the clock face</div><div> bpy.ops.mesh.primitive_circle_add(radius=2, location=(0,0,0))</div><div> </div><div> # Get the current time</div><div> current_time = datetime.now().time()</div><div> hour = current_time.hour</div><div> minute = current_time.minute</div><div> second = current_time.second</div><div> </div><div> # Create the hour hand</div><div> hour_angle = (hour / 12) * 360</div><div> x = math.sin(math.radians(hour_angle)) * 1.5</div><div> y = math.cos(math.radians(hour_angle)) * 1.5</div><div> bpy.ops.mesh.primitive_cone_add(radius1=0.1, depth=1.5, location=(x, y, 0))</div><div> </div><div> # Create the minute hand</div><div> minute_angle = (minute / 60) * 360</div><div> x = math.sin(math.radians(minute_angle)) * 1.8</div><div> y = math.cos(math.radians(minute_angle)) * 1.8</div><div> bpy.ops.mesh.primitive_cylinder_add(radius=0.1, depth=1.8, location=(x, y, 0))</div><div> </div><div> # Create the second hand</div><div> second_angle = (second / 60) * 360</div><div> x = math.sin(math.radians(second_angle)) * 2</div><div> y = math.cos(math.radians(second_angle)) * 2</div><div> bpy.ops.mesh.primitive_cube_add(size=0.2, location=(x, y, 0))</div><div><br /></div><div>create_clock()</div>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-23366667995284716752022-12-25T15:14:00.001+09:002022-12-25T15:14:09.028+09:00ModularAnimalRobot<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJTGlpyfC7Ij6gYKJ1e3ZaiSi7ZqRL9oEDO5iBjv6efSEFKdvGIYPclp2dAdzYnx5qDUqwRfFjhlYaLA6ROWKckE_jhpfTkU9bCgefpA44tNuVJR_Mi-8JA894ZlSRm1ZWM-FWw2wTaVKPf-mf7iXwJBKBv7z4dJ0_V3plgmuNlCmE8aox5Oc4YuvpvA/s1162/InsectLeg.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="769" data-original-width="1162" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJTGlpyfC7Ij6gYKJ1e3ZaiSi7ZqRL9oEDO5iBjv6efSEFKdvGIYPclp2dAdzYnx5qDUqwRfFjhlYaLA6ROWKckE_jhpfTkU9bCgefpA44tNuVJR_Mi-8JA894ZlSRm1ZWM-FWw2wTaVKPf-mf7iXwJBKBv7z4dJ0_V3plgmuNlCmE8aox5Oc4YuvpvA/s320/InsectLeg.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw96OK5G2CXgaurSu0ZtKHwJZLJI6_jLv0XTAlrJ8jyU1qsIKFWtIYCKQQmaQxviHf0FEIWrKbM9VpCmtA8GfPwR6wXJszonEFtNq7FV1IMU1PbInnVI27capVl5QfpUwF4YlqWLzsKvjXgkNRzo_R9zaxWvDkCXCc9b7fKj9VxxJsa_swocZnVoz6eQ/s844/dinosaurLeg.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="844" data-original-width="619" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw96OK5G2CXgaurSu0ZtKHwJZLJI6_jLv0XTAlrJ8jyU1qsIKFWtIYCKQQmaQxviHf0FEIWrKbM9VpCmtA8GfPwR6wXJszonEFtNq7FV1IMU1PbInnVI27capVl5QfpUwF4YlqWLzsKvjXgkNRzo_R9zaxWvDkCXCc9b7fKj9VxxJsa_swocZnVoz6eQ/s320/dinosaurLeg.jpg" width="235" /></a></div><br /><p></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-18978367404319448212022-11-30T10:25:00.005+09:002022-11-30T10:25:53.643+09:00Allosaurus,Pteranodon,stegosaurus,<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghdqat8iYE734sjYlgjBhqh1xuvWdWgsfgDcrHNRCP7ej_eUPJ5RH6RW9U902lANG_PpxbCqWs8W08brU-AzZV8dlGpOQOscaFOj0T5NpqazHiEnIvaJlGmh0qj5tl4MmioS_-PQlVLWLDumTzvbY9lL1JWketc8HS5OweTECZ4Cr59FIWvkwzj7C3Vg/s1378/alloi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="1378" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghdqat8iYE734sjYlgjBhqh1xuvWdWgsfgDcrHNRCP7ej_eUPJ5RH6RW9U902lANG_PpxbCqWs8W08brU-AzZV8dlGpOQOscaFOj0T5NpqazHiEnIvaJlGmh0qj5tl4MmioS_-PQlVLWLDumTzvbY9lL1JWketc8HS5OweTECZ4Cr59FIWvkwzj7C3Vg/s320/alloi.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2v3qAk5uf64HvMtNNfN0OUYptCJI6c0ewwrtF0S0nnpUyOYxHUDpx1QVcEUzhPM6F02ZzR22DAlqypWQf-jEyzd9iWXr6nz3UcSssQkFv1nc7XyxBgV-fM-WyUMX3gjBkKjkmYmUwp_G5drx5gprIBFcl2NBdrFGGWDck3DG9MAYkS6giwEnSHnKfZQ/s1469/ptera.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="726" data-original-width="1469" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2v3qAk5uf64HvMtNNfN0OUYptCJI6c0ewwrtF0S0nnpUyOYxHUDpx1QVcEUzhPM6F02ZzR22DAlqypWQf-jEyzd9iWXr6nz3UcSssQkFv1nc7XyxBgV-fM-WyUMX3gjBkKjkmYmUwp_G5drx5gprIBFcl2NBdrFGGWDck3DG9MAYkS6giwEnSHnKfZQ/s320/ptera.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1jQlfnMZ75ZOFI7UPRZLdhEaTIOQfBhb7Z18GM4jXMLEFFYy65ClARZIysw3RatvWU111FyI9k3TAkZWCYhDDVcsWwrewCxwCgtKLMNmwrAh2DR22uepmIw27UwOH-oyQgTMGpIIa5kYe127s15098-cXkL3U0jlmFUr8NKyEr0VM8QIq-etHxojG4Q/s1227/stego.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="617" data-original-width="1227" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1jQlfnMZ75ZOFI7UPRZLdhEaTIOQfBhb7Z18GM4jXMLEFFYy65ClARZIysw3RatvWU111FyI9k3TAkZWCYhDDVcsWwrewCxwCgtKLMNmwrAh2DR22uepmIw27UwOH-oyQgTMGpIIa5kYe127s15098-cXkL3U0jlmFUr8NKyEr0VM8QIq-etHxojG4Q/s320/stego.jpg" width="320" /></a></div><br /> <p></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-9492014616286313182022-11-29T10:20:00.004+09:002022-11-29T10:20:26.567+09:00Magnapinna(Bigfin squid), Scotoplanes(Sea pig), Oarfish<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgLw-RauM8zSXLo60MgjJKlx2UdKKRlUfK7PiyOhPuZ-yBL2FIzhqaitLBvlD_RM3XcVKa8GzwDrhb74lgNv8roeGC6_aucyV4YAjTx24Qxi3Cc-u_Eg6bukx_q8wc2I71aYmFCdkB3EW2dnvOd72-ljb6KfSWPMlqouC5wpB-lwx7UUZxH9PiBdGeSg/s1258/squid.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="616" data-original-width="1258" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgLw-RauM8zSXLo60MgjJKlx2UdKKRlUfK7PiyOhPuZ-yBL2FIzhqaitLBvlD_RM3XcVKa8GzwDrhb74lgNv8roeGC6_aucyV4YAjTx24Qxi3Cc-u_Eg6bukx_q8wc2I71aYmFCdkB3EW2dnvOd72-ljb6KfSWPMlqouC5wpB-lwx7UUZxH9PiBdGeSg/s320/squid.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimyuvBn870TZ3y6xccAwMco_ES_A4hMl6541IWJO0TnTfCB0GjsZtbBtNCAQb0NhPr2o8sVDpor7idloUbAe3DjkDT8HMVSPvz-MjRl_xgA26adjYBHxEvQpL8SubjA8-zMdq557Rq_B3V1piToCZyJXHAes7_KwnasH_TLEf-oRAn02LZBK5T8NJTKg/s714/seapig.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="714" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimyuvBn870TZ3y6xccAwMco_ES_A4hMl6541IWJO0TnTfCB0GjsZtbBtNCAQb0NhPr2o8sVDpor7idloUbAe3DjkDT8HMVSPvz-MjRl_xgA26adjYBHxEvQpL8SubjA8-zMdq557Rq_B3V1piToCZyJXHAes7_KwnasH_TLEf-oRAn02LZBK5T8NJTKg/s320/seapig.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic2EJdWMsbNgolMcelsAVzI-sex1h9LCJsR3EhEP97zkg9EwFBqy0MnQVcEjWQdCPS3QsDoro-DRQJNSBy09lYnP_EY9GnckftmQM2vXTjbSXTCi82hYQxKQPKzP9AFQo1gCk4tDUXYN6DYu3ABeUMwecx9rKrXqW1mTBLjMM9arLXoF3XOwnd9_PEvQ/s1156/oarfish.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="668" data-original-width="1156" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic2EJdWMsbNgolMcelsAVzI-sex1h9LCJsR3EhEP97zkg9EwFBqy0MnQVcEjWQdCPS3QsDoro-DRQJNSBy09lYnP_EY9GnckftmQM2vXTjbSXTCi82hYQxKQPKzP9AFQo1gCk4tDUXYN6DYu3ABeUMwecx9rKrXqW1mTBLjMM9arLXoF3XOwnd9_PEvQ/s320/oarfish.jpg" width="320" /></a></div><br /><p></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-86247222082735637512022-10-06T15:08:00.001+09:002022-10-06T15:08:29.350+09:00Dragon<p> <br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCvhL8I9gMSesZ5NG1Bd9v7cgpKV6ny2oM5qqYHVU-awjaP-Mc6BKrJOZPTplzX0VF_wEJK-9sPdFdNtq3Dwtf38B4LJy5Z-bLVOBO2TcJvObW-irCxHpmWP_7TH6-YAHXHn5b1z1aLlvgxWQjKvahq8hNpnGqQTtT80W9pLw4v7H58vT0SE00S_Ibgw/s1845/dragon4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1156" data-original-width="1845" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCvhL8I9gMSesZ5NG1Bd9v7cgpKV6ny2oM5qqYHVU-awjaP-Mc6BKrJOZPTplzX0VF_wEJK-9sPdFdNtq3Dwtf38B4LJy5Z-bLVOBO2TcJvObW-irCxHpmWP_7TH6-YAHXHn5b1z1aLlvgxWQjKvahq8hNpnGqQTtT80W9pLw4v7H58vT0SE00S_Ibgw/s320/dragon4.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVgAoKXwB8UZXastWeDjMqMAdOQRLVsDbc0AoF7RZSRplJXtM2AeAXd86D_c2RwDXVgJHsKbBbEgZMviHda6LjxOYnQtGYTeaMhXTk09nVTb1AkUx1LQuKg3eTtvPjEhCnluIoXjuBSQ63MoesBilTmABUB4zgEhl0dD70LzCdEViwKKmAmom21bgoaw/s1583/dragon3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="818" data-original-width="1583" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVgAoKXwB8UZXastWeDjMqMAdOQRLVsDbc0AoF7RZSRplJXtM2AeAXd86D_c2RwDXVgJHsKbBbEgZMviHda6LjxOYnQtGYTeaMhXTk09nVTb1AkUx1LQuKg3eTtvPjEhCnluIoXjuBSQ63MoesBilTmABUB4zgEhl0dD70LzCdEViwKKmAmom21bgoaw/s320/dragon3.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1--5GF6llbgYG351MR8ZCcjj6uWPqbpHmn_4jl58NRK1kviSjPefwtikUgkM1-2ZPO4tHiANelyN7ETOAeoURLQ9gJESMDZnzrwXMLamLVyy_z1r3bCBo_gvaX6Hs-C6JBGNEUE7PVmSbyO7MVv84L1vtf3LSwTiHF5uP4G3Xluo0DuiTwX4ADdnvwA/s1750/dragon2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="798" data-original-width="1750" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1--5GF6llbgYG351MR8ZCcjj6uWPqbpHmn_4jl58NRK1kviSjPefwtikUgkM1-2ZPO4tHiANelyN7ETOAeoURLQ9gJESMDZnzrwXMLamLVyy_z1r3bCBo_gvaX6Hs-C6JBGNEUE7PVmSbyO7MVv84L1vtf3LSwTiHF5uP4G3Xluo0DuiTwX4ADdnvwA/s320/dragon2.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDb0B3D3FohvH1_QYsaXpbTrOdr84FZdZJfyhhRkNr_AI2FBNzo9xQ6cMpGmBE_8YQg3od7SGyoB7U3UeeUGtGk8nrmBpm_OZ1WZGhhg08AuXnk6QTG-rknW-_M3s7kRwjfUDESPSHVYqhoe-xkbZhjqWnZVpPajdeSLGmPJhWfe6ZJm92ZHULCWeMRw/s1793/dragon1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="1793" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDb0B3D3FohvH1_QYsaXpbTrOdr84FZdZJfyhhRkNr_AI2FBNzo9xQ6cMpGmBE_8YQg3od7SGyoB7U3UeeUGtGk8nrmBpm_OZ1WZGhhg08AuXnk6QTG-rknW-_M3s7kRwjfUDESPSHVYqhoe-xkbZhjqWnZVpPajdeSLGmPJhWfe6ZJm92ZHULCWeMRw/s320/dragon1.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7Kds3Ks-AZOH2x5wSv0FI_Wil7aACOH0vs6F62JPt-NQrIDXou-uqfRho4ED9YTWPzXKLZjg7LdzHjopoHQtCIgKgl9oinQmDgArnf2CPMcjZSgkc7mhZuYZHrb3RUyEAcNsvE9TQToZMt3Li4-2B0bgH6ZRbi8NV3vl5ispNvDV9VSd9yYqwqF3X6w/s1627/dragon5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="950" data-original-width="1627" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7Kds3Ks-AZOH2x5wSv0FI_Wil7aACOH0vs6F62JPt-NQrIDXou-uqfRho4ED9YTWPzXKLZjg7LdzHjopoHQtCIgKgl9oinQmDgArnf2CPMcjZSgkc7mhZuYZHrb3RUyEAcNsvE9TQToZMt3Li4-2B0bgH6ZRbi8NV3vl5ispNvDV9VSd9yYqwqF3X6w/s320/dragon5.jpg" width="320" /></a></div><p></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0tag:blogger.com,1999:blog-3227692976574713864.post-18493667124784541232022-10-04T04:37:00.003+09:002022-10-04T04:37:10.360+09:00Dragon<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigQI_4oxmDpmcJj9c1xgYyBCuEw7D5ckk58IiDvYk40-yQRrLe_uU5goKOHQm009L-vxKE9Di7PO_abM43Q7ZJM1mkjMegUoCPf0HPo7s_qTYkJkMalIHM8a78RYSI6r1EvPRa_cvl3xUWtd415SvnRZfofZtd7R2Us-EHI8ObCCSj2CacRJ4qr1HANQ/s1647/dragon.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1273" data-original-width="1647" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigQI_4oxmDpmcJj9c1xgYyBCuEw7D5ckk58IiDvYk40-yQRrLe_uU5goKOHQm009L-vxKE9Di7PO_abM43Q7ZJM1mkjMegUoCPf0HPo7s_qTYkJkMalIHM8a78RYSI6r1EvPRa_cvl3xUWtd415SvnRZfofZtd7R2Us-EHI8ObCCSj2CacRJ4qr1HANQ/s320/dragon.jpg" width="320" /></a></div><br /><p></p>eizouhttp://www.blogger.com/profile/14482611106335382449noreply@blogger.com0