今朝、オンラインでTOEIC受験し、問題が難しいので、これはだめかとおもったら、結果は高得点だった。Aランクだね。満足。これなら、いかなるケースにおいても、何の問題もない。
ここ半年、検定試験を3つ受けたが、受験勉強が結構大変だった。今日から解放されるが、明日からは次のステップへ。気が抜けない。
せめて、今日の午後は、少し良い気分でリラックスしよう。
今朝、オンラインでTOEIC受験し、問題が難しいので、これはだめかとおもったら、結果は高得点だった。Aランクだね。満足。これなら、いかなるケースにおいても、何の問題もない。
ここ半年、検定試験を3つ受けたが、受験勉強が結構大変だった。今日から解放されるが、明日からは次のステップへ。気が抜けない。
せめて、今日の午後は、少し良い気分でリラックスしよう。
新たなキャリアに向けて、今日、引き金を引いた。
3月から半年考え続け、勉強したり資格をとったりしながら、3月時の決心は70%、現在は90%以上へ。途中、これで良いのか不安を感じたり、新たなキャリアに対して拒絶反応が出たり。しかし、毎日、勉強とイメージトレーニングを続け、慣れてくるにつれ、多少は自信が湧いてきた。もう、他の選択肢は考えていない。だから引き金を引いた。
これから、今の職場では、私の身辺で色々と調整が入る。上期偏重で成果出すため、現職の仕事をかなり頑張った。更に、夜間や週末は転職に向けた勉強。毎日、120%の生活を続け、かなり疲れたが、頑張った甲斐があった。資格も一つ取れたし、残るはTOEICのみだが、これも順調に準備が進んでいる。エントリーシートに、業務上の経歴、資格、英語力など、満足がいく形で記入できそう。
残り半年は、平日でも、現職の仕事を5時間、転職活動へ3時間のパワー配分へ。夜間や週末も入れると、転職活動へかなりの時間を確保できる。息抜きでは、電子工作や3DCG制作など。これらも、結果的には、次のキャリアの役にたつ。
昨日、床屋に行って自分の顔を見たら、随分と、顔が細くなったのに気がついた。気持ちは若いし、まだまだ、チャレンジ精神旺盛だが、外見は変わった。やっぱり、ある意味、現職から引退し、次のステップへ進むというのは正しいことなのだと、腹落ちしつつある。
40歳以前に仲良くなった仲間たち、もう、今の会社にはほとんど残っていない。事業環境の変化で、度重なる構造改革があり。私は、20年近く、ひたすら、新たな技術を勉強し続けることで、職場を転々としつつも、なんとか生き残った。
とにかく、頑張ってきた。本日は、人生において一種のマイルストーン。
先生方が自分の研究室を紹介する場へ参加。
先生方、とても生き生きしてる。人生楽しそう、語りも魅力的で聴衆を惹きつける。
成果出さねばならないプレッシャーはあると思うが、それでも、自分が好きなことをやれるというのが、あそこまで人を幸せにするのか。
さて、定年後に転職して、そういう生き生きとした時間を過ごせるのか?それは、転職してみないと分からない。その仕事が社会のためになるとか、何か、自分が役に立っている感があれば良い。
3月上旬から、3年間眠っていたDS検定の本で勉強始めた。
3年前、新しい職場へ異動したが、職場のレベルが低く、危機感を感じ、DS検定の本を購入したのを思い出す。しかし、苦手な統計数学が含まれていて、ずっと手がつかなかった。それで、昨年度は、G検定の方を受けて合格した。各種AIのプロトタイピング経験豊富なので、AI中心のG検定の方が楽だから。
3月から知財関係へ転職活動中。Geminiへ聞いたら、知財関係でAI関連担当するならDS検定役にたつよと。だから、DS検定受験しようと思い立った。
3ヶ月半、必死になって勉強した。週末も潰して。合計100時間くらい勉強したと思う。
そしてCBTで受験し、最後の確認時に86点と出た時には、とてもホッとした。これなら絶対合格!
前日は緊張でよく寝れず、かなりの睡眠不足と疲労の中、100問解くのはしんどかった。しかし、100問解いたら20分近く余ったので、前半の問題を見直すことができた。見直したからと言って、特に、修正することもなかったが。
受験時の感想:
身についたこと:
合格したからといって、転職時に有利なわけではないが、転職後の仕事にプラスになるのは間違いなし。だから、3ヶ月半、かなりしんどかったが、頑張った甲斐があると思っている。
また、今の職場ではAIトランスフォーメーションが始まったばかり。しかし、仕事の進め方が間違っている人たちが多い。手段が目的化している。この勉強を通し、その辺、改めて認識できた。
定年前のこの歳でDS検定受験する人は少ない。CBT会場では、皆、20代だった。まだ前線で当面は働ける、そういう自信が付いた。
次はTOEICへ挑戦だ!知財関連の勉強も本格化。結局、今後も勉強で週末が潰れる。
(Generated by Gemini)
To disable the Tab key from inserting a tab space in a Godot TextEdit node, you can override its input handling using a custom script. This script will intercept the ui_focus_next input action (which is the default binding for the Tab key) and mark it as handled, preventing the TextEdit from processing it.
Attach this script to your TextEdit node. The _gui_input function is used to capture input events specifically for the UI.
extends TextEdit
func _gui_input(event):
if event.is_action_pressed("ui_focus_next"):
# This line marks the event as handled, preventing it from
# being processed further by the TextEdit node.
get_viewport().set_input_as_handled()
_gui_input(event): This virtual function is part of Godot's Control nodes and is triggered by low-level input events. It's the ideal place to handle UI-specific input.
event.is_action_pressed("ui_focus_next"): This checks if the Tab key has been pressed. Using the ui_focus_next action is a good practice because it respects the user's input map settings.
get_viewport().set_input_as_handled(): This is the most important part of the script. By calling this method, you tell Godot to stop processing this input event. The TextEdit node's default behavior (inserting a tab character) will not be executed because the event is effectively consumed before it reaches that part of the code.
This method gives you precise control over how the TextEdit node handles specific key presses, allowing you to disable its default behavior for the Tab key.
(Generated by Gemini)
The best way to add a collider to a model exported from Blender to Godot is by using a specific naming convention within Blender. By adding a suffix to your mesh's name, Godot's importer will automatically generate a collision shape when you import the scene.
Godot supports several suffixes that tell it how to handle a mesh for collision purposes. These are the most common ones:
-colonly: This suffix creates a collision-only mesh. It is a very efficient and recommended method. You create a separate, simplified mesh in Blender that represents the collision shape, give it the -colonly suffix, and export it alongside your main visual mesh. This keeps the collision shape low-poly and performant.
-convcolonly: Similar to -colonly, but this generates a convex collision shape. Convex shapes are simpler and can be faster for dynamic objects, but they can't represent complex concave shapes (e.g., a "U" shape) correctly, as they will "fill in" the gaps.
-col: This suffix uses the visual mesh itself to generate a collision shape. This is convenient for simple objects, but can be very performance-heavy if your visual mesh has a high polygon count.
-convcol: This also uses the visual mesh, but generates a convex collision shape from it.
In Blender:
Create your visual mesh (e.g., MyMesh).
Create a separate, simplified mesh to be used for collision (e.g., a cube for a complex rock).
Rename the simplified collision mesh with the appropriate suffix, like MyMesh-colonly.
Export from Blender:
Export your scene as a .glb or .gltf file.
In Godot:
Import the .glb or .gltf file into your project.
When you open the imported scene, Godot will have automatically created a collision node (like a StaticBody3D or CharacterBody3D) with a CollisionShape3D and the appropriate shape for you.
This video demonstrates how to export collision shapes with objects from Blender to Godot.